prog:php5
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| prog:php5 [2008/02/26 16:40] – angelegt phi | prog:php5 [2026/08/05 20:06] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== PHP 5 ====== | ||
| - | |||
| - | ===== Upgrade Tips PHP4 nach PHP5 ===== | ||
| - | |||
| - | ^ Konfigurationsparameter ^ PHP4 ^ PHP5 ^ | ||
| - | | register_globals | On | Off | | ||
| - | | allow_url_fopen | On | On | | ||
| - | | allow_url_include | | Off | | ||
| - | | session.gc_maxlifetime | 1440 | 10800 | | ||
| - | |||
| - | |||
| - | |||
| - | ==== register_globals = Off ==== | ||
| - | |||
| - | http:// | ||
| - | http:// | ||
| - | |||
| - | Die wohl grösste Änderung an der neuen Konfiguration von PHP5 betrifft '' | ||
| - | |||
| - | Rufen wir beispielsweise ein PHP-script wie folgt auf: | ||
| - | http:// | ||
| - | |||
| - | Unter PHP4 konnte dann direkt auf die Variable '' | ||
| - | |||
| - | echo $id; | ||
| - | |||
| - | **Neu unter PHP5** muss der entsprechende Array verwenden werden, in unserem Fall: | ||
| - | |||
| - | echo $_GET[' | ||
| - | |||
| - | Wir empfehlen Ihnen, diese Änderung an Ihren Scripts vorzunehmen. Falls Ihnen dies definitiv zu umständlich ist und die Umstellung aufwendig ist, können Sie auch den folgenden Workaround anwenden: | ||
| - | |||
| - | <box 90% round orange|WORKAROUND> | ||
| - | Importieren sämtlicher GET-/ | ||
| - | |||
| - | import_request_variables(' | ||
| - | |||
| - | Danach sind sämtliche Variabeln direkt verfügbar wie unter PHP4. | ||
| - | </ | ||
| - | |||
| - | ==== File upload ==== | ||
| - | |||
| - | http:// | ||
| - | |||
| - | Betrachten wir als Beispiel dieses HTML-Formular zum Upload einer CSV-Datei: | ||
| - | |||
| - | <form action=" | ||
| - | <input type=" | ||
| - | <input type=" | ||
| - | </ | ||
| - | |||
| - | Unter PHP4 konnten wir nun direkt auf die Variable '' | ||
| - | |||
| - | |||
| - | Unter PHP4: | ||
| - | |||
| - | if (file_exists($userfile)) { | ||
| - | $handle = fopen($userfile, | ||
| - | $fileContent = fread($handle, | ||
| - | fclose($handle); | ||
| - | } | ||
| - | |||
| - | **Neu unter PHP5**: | ||
| - | |||
| - | $tmpFile = $_FILES[' | ||
| - | if (is_uploaded_file($tmpFile)) { | ||
| - | $fileContent = file_get_contents($tmpFile); | ||
| - | } | ||
| - | |||
| - | <box 90% round orange|WORKAROUND> | ||
| - | Importieren Sie den Inhalt von '' | ||
| - | |||
| - | foreach ($_FILES as $key => $value) { | ||
| - | $GLOBALS[$key] = $_FILES[$key][' | ||
| - | } | ||
| - | |||
| - | Danach können Sie wie bis anhin direkt auf die Upload-Variable (in unserem Beispiel '' | ||
| - | </ | ||
| - | |||
| - | ==== Session handling ==== | ||
| - | |||
| - | http:// | ||
| - | |||
| - | Beachten Sie, dass die Funktion '' | ||
| - | |||
| - | Unter PHP4: | ||
| - | |||
| - | session_start(); | ||
| - | $username = ' | ||
| - | session_register(' | ||
| - | |||
| - | **Neu unter PHP5**: | ||
| - | |||
| - | session_start(); | ||
| - | $_SESSION[' | ||
| - | |||
| - | Falls es ihnen nicht möglich ist, den gesamten Code umzuschreiben, | ||
| - | |||
| - | <box 90% round orange|WORKAROUND> | ||
| - | Ersetzen Sie sämtliche Aufrufe von '' | ||
| - | |||
| - | function my_session_register($name) { | ||
| - | $_SESSION[$name] = & | ||
| - | } | ||
| - | |||
| - | Die Session wird nun also wie bis anhin in PHP4 gesetzt: | ||
| - | |||
| - | session_start(); | ||
| - | $username = ' | ||
| - | session_register(' | ||
| - | |||
| - | Auf den Folgeseiten muss die '' | ||
| - | |||
| - | session_start(); | ||
| - | foreach ($_SESSION as $key => $value) { | ||
| - | $GLOBALS[$key] = & | ||
| - | } | ||
| - | echo $username; | ||
| - | </ | ||
prog/php5.1204040422.txt.gz · Zuletzt geändert: von phi
