Mailinglisten-Archive |
> Moin Listies, > In welcher Form verwendet ihr die Superglobals? Nehmt ihr > schon die neuen > ($_irgendwas) oder noch die alten ($HTTP_irgendwas_VARS). Aus > irgendeinem > Grund will nämlich das folgende Script nicht wirklich funzen: > > <script> > extract ($HTTP_GET_VARS); > extract ($_GET); // FEHLERZEILE > extract ($HTTP_POST_VARS); > extract ($_POST); // FEHLERZEILE > </script> > > Ergibt jeweils für die neuen Superglobals folgenden Fehler > > Warning: Wrong datatype in call to extract() in > /***/script.php on line xy für ein Stück Code das ich für phpMyAdmin zum Import von docSQL Dateien geschrieben hatte, hat mir Loic (ebenfalls PMA Dev) folgenden Code gegeben (muss ja von php 3.x - php 4.x laufen). Da ging es zwar um DOCUMENT_ROOT, aber das ist ja genauso geändert, insofern sind die Überlegungen dabei vielleicht für Dich übertragbar: /** * Try to get the "$DOCUMENT_ROOT" variable whatever is the register_globals * value */ if (empty($DOCUMENT_ROOT)) { if (!empty($_SERVER) && isset($_SERVER['DOCUMENT_ROOT'])) { $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; } else if (!empty($HTTP_SERVER_VARS) && isset($HTTP_SERVER_VARS['DOCUMENT_ROOT'])) { $DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMENT_ROOT']; } else if (!empty($_ENV) && isset($_ENV['DOCUMENT_ROOT'])) { $DOCUMENT_ROOT = $_ENV['DOCUMENT_ROOT']; } else if (!empty($HTTP_ENV_VARS) && isset($HTTP_ENV_VARS['DOCUMENT_ROOT'])) { $DOCUMENT_ROOT = $HTTP_ENV_VARS['DOCUMENT_ROOT']; } else if (_(at)_getenv('DOCUMENT_ROOT')) { $DOCUMENT_ROOT = getenv('DOCUMENT_ROOT'); } else { $DOCUMENT_ROOT = ''; } } // end if Gruß Mike Beck
php::bar PHP Wiki - Listenarchive