Portál AbcLinuxu, 10. května 2025 02:36
PHP je ten, kto určuje aká bude na výstupe hlavička, takže takéto testovanie nedáva zmysel. Samotný fakt, že sa spustil PHP interpret, väčšinou znamená, že sa o 404 nejedná.
Je možné v apachi nastaviť redirect 404 (a iných) na PHP skript, v takom prípade ten PHP skript dostane informáciu o pôvodnom chybovom kóde do $_SERVER["REDIRECT_STATUS"].
$_SERVER["REDIRECT_STATUS"]
.
tam mam to, aby to odeslalo header("HTTP/1.0 404 Not Found"): if($spatneurl) { jen se odeslou hlavicky header("HTTP/1.0 404 Not Found"); } else { echo "nazdar"; } a to ja bych potreboval zjisit, ze se odeslali (ti hlavičkové) if($se_odeslali) { // tohle jako nevíte??? a spustit tak jinou cast scriptu.. jinacastskriptu(); } else { exit; }???
Existuje taký sofistikovaný programátorský koncept, ktorý by sa tu dal použiť (pozor: len pre EXPERTOV!!!). Hovorí sa tomu "premenná" a funguje to ako taký šuflík, do ktorého niečo vieš uložiť a neskôr odtiaľ vybrať keď to potrebuješ. PHP tento koncept šuflíkov podporuje cez symbol $ (dolár). Ale do väčších detailov by som asi nemal zachádzať, lebo to je naozaj ťažká veda.
$hlavickove_odesli = true;a dál ve skriptu můžete následně testovat:
if($hlavickove_odesli) { neco delej }Nebo na to "testování url" použijte nějakou metodu a finální rozhodnutí poslat/neposlat si vraťte jako návratovou hodnotu:
$hlavicki = testurl(...); if($hlavicki) { header(....) } if($hlavicki) { neco delej }Jinak obvyklé bylo dříve hlavičky považovat za neživotné, a hovořit o nich jako o věcech které odešly. Ale zdá se, že to je dneska věc vkusu, zvlášť když lidé umí dřív if-then-else než mama-papat :)
header("HTTP/1.0 404 Not Found");
...
if ($status == 404)
...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.