Autor Zpráva
Mastodont
Profil
Omlouvám se, že se na to ptám, nemám teď příležitost to zkoušet ..

Když chci skrýt skutečné umístění obrázku, většinou se to řeší přes header a readfile, jak je popsáno třeba na:
http://www.sitepoint.com/forums/showthread.php?t=587195l

Dneska jsem ale narazil na řešení jen s include:
http://www.trap17.com/index.php/how-hide-real-url-images_t24561.html

Proč se používá spíš to první, pokud by stačilo jen include?
Jan Tvrdík
Profil
Mastodont
Taky nemám čas zkoušel, takže napíšu osobní názor.

Include toho umí zbytečně moc. Readfile dělá přesně to, co je potřeba, takže nevidím důvod použít jinou (pomalejší?) funkci. Další věcí je, že readfile je bezpečnější.
Alphard
Profil
Omlouvám se, že se na to ptám, nemám teď příležitost to zkoušet ..
Taky nemám čas zkoušel, takže napíšu osobní názor.

já taky teď nemám moc času, ale jednoduchý test jsem udělal, protože jsem k tomuto řešení dost skeptický

tohle mi zobrazilo rozsypaný čaj
<?php
include "img/9.jpg";
?>


teprve tohle fotku
<?php
header("Content-Type: image/jpeg");
header("Content-Length: " . filesize("img/9.jpg"));

include "img/9.jpg";
?>


kód jsem jen proletěl, všechny komentáře jsem nečetl, ale zdá se mi, že bez hlaviček to stejně nepůjde
rozhodně mi to nejde jen s include

taky bych raději zvolil readfile, nejsem znalec grafických formátů, ale když to ničemu nepomůže, proč riskovat include
Mastodont
Profil
Díky. Na tom druhém odkazu se píše, že to řešení s include normálně funguje (?). Použiji readfile.
Jan Tvrdík
Profil
Mastodont
Nezkoušel jsem to, ale pokud je prohlížeš chytrý, tak zvládne zobrazit obrázek v tagu <img> i se špatným Content-Type, protože ví, že má čekat obrázek. Na odkazované stránce totiž nikdo nezkoušel volat přímo ten skript :)
bohyn
Profil
Mastodont
Pokud pouzijes include tak riskujes ze v obrazku bude skryty PHP kod, ktery se provede. Nehlede na rychlost.
Funguje samozjeme oboje a u obojeho je lepsi hlavicky s content-type posilat (v tomto ohledu neni mezi temito variantami rozdil).

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