Autor Zpráva
WMPopi
Profil
Ahoj,
mám soubory uložené v databázi a pomocí skriptu v PHP je zobrazuju, pokud je záznam nalezen vracím header("HTTP/1.1 200 OK"); jinak header("HTTP/1.1 404 Not Found"). Všechny volané soubory podstrkávám pomocí mod_rewrite na tento skript. Při zobrazení v prohlížeči je to správně, buď se soubor zobrazí nebo vyskočí stránky nenalezeno.

Potřebuju ale ve skriptech zjištovat jestli soubor existuje pomocí file_exists(soubor.pdf), ale ten stále hlásí nenalezeno, nevíte proč to, případně jak to vyřešit? Nerad bych funkci file_exists() měnil, je používána v celém rozsáhlém systému, toto je jakási nadstavba..
Předem děkuji za postřehy.
Michal Benda
Profil
WMPopi:
mám soubory uložené v databázi
Máš tam uložené obsahy souborů nebo jenom názvy těch souborů?
WMPopi
Profil
Michal Benda:
obsahy, v blobu

takže soubor navod.pdf volam jako soubory.php?id=1
v .htaccess mám nastaveno podstrčení
a pak se prám v php jestli soubor existuje if (file_exists("navod.pdf"))
DoubleThink
Profil *
Soubor hledáš v lokálním filesystemu, kde pochopitelně není.
WMPopi
Profil
DoubleThink:
čili jestli dobře rozumím, při volání funkce se neprovádí podstrčení v mod_rewrite?

Pokud není nějaké elegantní řešení, provedu v celém souboru nahrazení file_exists( za např. fileexist( a v té funkci se budu ptát databáze :-) Rychlé..
DoubleThink
Profil *
Můžeš taky kontrolovat soubor přes síťovou vrstvu serveru, tak jak to dělají klienti - což je samozřejmě prasárna, když se můžeš podívat přímo k sobě do databáze.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0