Autor | Zpráva | ||
---|---|---|---|
WMPopi Profil |
#1 · Zasláno: 30. 7. 2011, 16:59:01
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 |
#2 · Zasláno: 30. 7. 2011, 17:30:33
WMPopi:
„mám soubory uložené v databázi“ Máš tam uložené obsahy souborů nebo jenom názvy těch souborů? |
||
WMPopi Profil |
#3 · Zasláno: 30. 7. 2011, 17:39:13
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 * |
#4 · Zasláno: 30. 7. 2011, 17:55:47
Soubor hledáš v lokálním filesystemu, kde pochopitelně není.
|
||
WMPopi Profil |
#5 · Zasláno: 30. 7. 2011, 18:04:18
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 * |
#6 · Zasláno: 30. 7. 2011, 18:33:59
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.
|
||
Časová prodleva: 13 let
|
0