Jak nastavit obrázek, který se zobrazí místo nenalezeného obrázku?
44 příspěvků · strana 2 z 2
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Ježiš já su debil, teď jsem to pochopil... Hmm, dá se z requestu zjistit, že žádáš o obrázek? Příponou to asi půjde, ale pokud nebude přípona?
-
asi jedině podle přípony vždyť ani browser, dokud nedostane hlavičku od serveru neví, o jaký typ souboru vlastně žádal
-
Tak pak jedině tak, jak psak Quinix. Akorát se to bude hledat víc přípon, ne?
-
MzM: přesně tak
-
<?php if (strpos($_SERVER['REQUEST_URI'],".jpg")) { Header("Content-Type: image/jpg"); include 'nahradni.jpg'; } if (strpos($_SERVER['REQUEST_URI'],".gif")) { Header("Content-Type: image/gif"); include 'nahradni.jpg'; } if (strpos($_SERVER['REQUEST_URI'],".png")) { Header("Content-Type: image/png"); include 'nahradni.jpg'; } else echo "Stranka nenalezena"; ?>
-
Quinix, tak ne, tak ne, předtím jsi to měl dobře, jen to chtělo přidat do té podmínky, mime tape musíš posílat podle souboru, který nakonec pošleš, tedy image/jpeg <? if (strpos($_SERVER['REQUEST_URI'],".jpg") || strpos($_SERVER['REQUEST_URI'],".gif") || strpos($_SERVER['REQUEST_URI'],".png")) { Header("Content-Type: image/jpeg"); include 'nahradni.jpg'; } else echo "Stranka nenalezena"; ?> no, ještě mě napadá, že by se hodilo to REQUEST_URI převést na malé písmena ;) ale tak není problém před to doplnit strtolower()
-
DA: Aha, to mě nějak ušlo :) Asi by to chtělo vyzkoušet...
-
takze asi takto <?php $file = strtolower($_SERVER['REQUEST_URI']); if (strpos($file, '.jpg') || strpos($file, '.jpeg') || strpos($file, '.png') || strpos($file, '.gif') || strpos($file, '.bmp') || strpos($file, '.tiff')) { Header('Content-Type: image/jpeg'); readfile('404.jpg'); } else { echo 'Vami pozadovana stranka nebola najdena...'; } ?>
-
prave som to vyskusal a funguje to :)
-
Tak vás asi zklamu, ale mě se to nepodařilo zprovoznit. Server náhradní obrázek sice asi pošle, ale FF mi ho odmítá zobrazit.
-
lacop: Kde si to zkušel?
-
na locali, ale zatial som taky problem ze by to u man slo a na wz nie nemal ... pockaj, hodim to cez FTP sem
-
ide to lacop.wz.cz/404/hocico.blabla -- text lacop.wz.cz/404/hocico.jpg, .png ... -- obr (sorry, je to jemne na rychlo :) ) lacop.wz.cz/404/bla.html -- par obrazkov v roznich velkostiach, vsade sa zobrazi spravni obr .htaccess ----------- ErrorDocument 404 /404/404.php 404.php ---------- <?php $file = strtolower($_SERVER['REQUEST_URI']); if (strpos($file, '.jpg') || strpos($file, '.jpeg') || strpos($file, '.png') || strpos($file, '.gif') || strpos($file, '.bmp') || strpos($file, '.tiff')) { Header('Content-Type: image/jpeg'); readfile('404.jpg'); } else { echo 'Vami pozadovana stranka nebola najdena...'; } ?> BTW: Mozilla/5.0 (Windows; U; Windows NT 5.1; cs-CZ; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
-
lacop: A co třeba, když budeš mít někde na stránce <img src="neni.jpg"> a ten nebude existovat. Co to udělá pak?
-
viz lacop.wz.cz/404/bla.html je tam test pre kazdu priponu, zobazi sa ten 404.jpg
-
Pročetl jsem to až do konce, lacop to vyřešil velice dobře (pěkný obrázek :D). Ale možná by to šlo i bez PHP scriptu, pouhým htaccessem, což by bylo nesmírně krásné a elegantní. Trošku jsem se prohrabal pár htaccessy a co byste řekli na toto? <Files ~ "\.(gif|jpe?g|png)$"> # nastavení pro obrázky - gif, jpg, jpeg a png ErrorDocument 404 "Obrázek nenalezen" # zde se tedy skript ukončí, pokud nebyl nalezen obrázek </Files> # obecné nastavení ErrorDocument 404 "Něco jiného než obrázek nenalezeno" Musím vás však předem upozornit na toto, že se tento konfigurační soubor nedokáže vyrovnat s tím, když hledáte neex. obrázek v neex. adresáři. Možná to je tím, že ten Files hledá vždy jen v jedné úrovni, nebo co. Zkoušel jsem oddělat \. ale chování zůstalo beze změny. Jako ErrorDocument 404 si samozřejmě můžete hodit co chcete :)
-
>>lacop to vyřešil velice dobře (pěkný obrázek :D) dik :)
-
BTW: zmenil som obrazok, uz to vyzera lepsie :)
-
... tak co že z toho mám použít?