PHP - register_long_arrays


Návody pro C4


Konfigurační direktiva register_long_arrays může nabývat dvou hodnot - buď zapnuto nebo vypnuto. Pokud je register long arrays zapnuté, tak je možné ke vstupním proměnným přístupovat přes pole tvaru $HTTP_*_VARS. Např. k proměnným z formulářů, ke kterým se standardně přistupuje přes superglobální pole $_GET, je možné po zapnutí register_long_arrays přistupovat přes $HTTP_GET_VARS.

Zdůrazňujeme, že přístup k proměnným přes $HTTP_GET_VARS, $HTTP_POST_VARS apod. je zastaralý a v PHP 6 už nebude vůbec možný (v PHP 6 nebude možné direktivu register long arrays zapnout). Z toho důvodu doporučujeme přistupovat ke vstupním proměnným pouze přes superglobální pole $_GET, $_POST apod.

Na PHP 5 serverech je register_long_arrays vypnuté. Je možné požádat o zapnutí, má to však smysl pouze v případě, že máte nějakou rozsáhlejší starší aplikaci a z nějakého důvodu ji nechcete předělávat. Převod aplikace, která přistupuje k proměnným přes $HTTP_*_VARS (a využívá tedy zapnuté register long arrays) je totiž jednoduchý. Stačí nahradit všechny výskyty $HTTP_GET_VARS za $_GET, $HTTP_POST_VARS za $_POST atd. Všechna možná nahrazení jsou zřejmá z následující tabulky.

Význam polí Superglobální pole register_long_arrays = On
proměnné z URL $_GET $HTTP_GET_VARS
proměnné z formulářů $_POST $HTTP_POST_VARS
proměnné web serveru $_SERVER $HTTP_SERVER_VARS
proměnné cookies $_COOKIE $HTTP_COOKIE_VARS
uploadované soubory $_FILES $HTTP_POST_FILES
proměnné prostředí $_ENV $HTTP_ENV_VARS

Související odkazy

Diskuzní fórum pro článek PHP - register_long_arrays

Nové diskuzní téma můžete založit v sekci PHP, MySQL.

Změny a kontroly

K dispozici je kompletní přehled všech změn a kontrol v tomto návodu.


Diskuzní fórum
  • Webové aplikace
  • Tvorba web stránek
  • PHP, MySQL

forum.c4.cz