Portál AbcLinuxu, 17. listopadu 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"].
Sečteno a podtrženo, z toho mála, co tazatel napsal, se dá vyvodit, že pravděpodobně chce mít .htaccess, v něm ErrorDocument nastavený na ten skript, který obsluhuje chybové i normální stavy, a chce ty stavy rozlišit. Potom by měla pomoct ta proměnná $_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)
...
Necham to tak jak to mam..
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.