Autor Zpráva
Tomtomas
Profil
Řeším způsob, jakým způsobem pomocí PHP zjistit, zda existuje určitá stránka a pokud ano, vložil by se její obsah pomocí readfile().

Jde mi o to, že mám stránku "index-php?parametr=stranka-1" a do ní chci v případě, že existuje jiná stránka "index.php?parametr=stranka-1-dodatek", načíst pomocí readfile() obsah tohoto dodatku.

Zkoušel jsem to pomocí file_exists() (index.php je vždy totožný soubor), ale nějak se nedaří. Tak mě napadlo, jestli to nepůjde nějakým ověření hlavičky dané dodatkové stránky - tzn. buď HTTP/1.1 200 OK nebo HTTP/1.1 404 Not Found.

Nevím tedy, jestli mám špatně část s "file_exists" (jinak skript funguje), popřípadě nevím, jak jinak elegantně by se dala existence souboru ověřit. Díky za pomoc.

Původní kód:
$stranaA = 'strana-1'; //zjisti alias aktualni stranky

if(file_exists('./'.$stranaA.'-dodatek')) //zjisti, zda existuje stranka s dodatkem (ZDE je problem)
{
$stranaB = 'index.php?parametr='.$stranaA.'-dodatek';
@readfile($stranaB); //pri chybe 404 u dodatku zpusobuje dale problemy
}
Kalda
Profil *
file_exists = pro lokální soubory.

Z kódu mi přijde zřejmé, že se snažíte zjistit, jestli existuje strana lokálně (máte tam i './'), ale současně popisujete ověření kódu 200/404, což je záležitost HTTP hlaviček a file_exists se na to nedá použít.

V případě zjišťování z jiného serveru je možné např. stáhnout hlavičky http://www.php.net/function.get-headers a zjistit kód odpovědi.
maarlin
Profil
Pokud by šlo o vzdálenou stránku, lze to volat pomocí fce curl, která obsahuje spoustu užitečných doplňkových funkcí, mezi nimiž je i funkce vracející HTTP stavovou hlášku volané stránky - curl_getinfo().
Toto téma je uzamčeno. Odpověď nelze zaslat.