Autor Zpráva
tony
Profil *
Hosi caute,

ako v scripte ancitam a potom v HTML zobrazim obrazok tak, aby uzivatel neprisiel na cestu-umiestnenie obrazku na serveri?

Dakujem
Casero
Profil
tony
hele, souvysí to s nějakým blbým zabezpečením obrázku??..jestli jo tak už to tu bylo hrozně mockrát za poslední dobu, nejde to na 100% dělalo by se to nějak zpusobem že by se na obrázek dlaa pruh vrstva, jestli si pamatuju tady ty diskuse o tom...ale hledej
Alphard
Profil
vytvoří se PHP funkce pro vypsání obrázku a ta se pak zavolá:

<img src="obrazek.php?handle=neco.gif">

zde je vypsání obrázku i se změnou velikosti:
http://www.eroxia.net/tutorial/6-gd-knihovna-vi

ale, jestli jde o uložení, tak fotka stejně uložit půjde :-)
tony
Profil *
Casero
hele, o ziadne blbe zabezpecenie nejde. Ide o to aby sa nikto nepokusal dostat do zlozky s obrazkami... keby cosi kazdy vie ako sa robi screenshot.

Alphard
dik uz to studujem.
Casero
Profil
tony
hmm..tak to mužeš zakázat přes htaccess přístup k určité složce, aspon se to tu někdy zmínilo
DoubleThink
Profil *
Casero
Brilantí řešení - obrázky pak nepůjdou zobrazit vůbec.

Co takhle zakázat v té složce directory listing?

Jinak pokud chceš zabránit linkování z jiné stránky, tak to se dělá častěji kontrolou refereru.
tony
Profil *
Alphard
v tom navode je len posielanie jedneho obrazku prehliadacu. Co ked ich chcem poslat na vystup viacej???

DoubleThink
ked zakazem directory listing to nepomoze. Niekto sa moze cez FTP pripojit a prepisat tie obrazky, ked mam nastavene vsetky prava... Ale prava nechcem rozoberat. Chcem len, aby uzivatel nemohol zistit cestu obrazku.
Alphard
Profil
jak již jsem naznačoval:

vytvoří se PHP stránka, která z $_GET vytáhne jméno souboru a ten (1 soubor) vypíše s použitím hlavičky

a tato stránka se zavolá v tagu img při volání obrázku:
<img src="obrazek.php?handle=neco_01.gif">
<img src="obrazek.php?handle=neco_02.gif">
<img src="obrazek.php?handle=neco_03.gif">
<img src="obrazek.php?handle=neco_04.gif">
<img src="obrazek.php?handle=neco_05.gif">

něco o tom píšou také tady:
http://www.linuxsoft.cz/article.php?id_article=420
tony
Profil *
Alphard
Inac ako si poradi googlebot s takym zdrojakom?
tony
Profil *
sorrac este som nemail docitany ten clanok, uz to mam tak dikez
Alphard
Profil
hlavní podstatou článku jsou binární data v databázi, byl to z mé strany nevhodný příklad, omlouvám se
měl jsem na mysli pouze tuto část:


1. Obrázky vyexportovat do souborů a použít je, jako by tam byly odjakživa (brr, pomalé).
2. Znásilnit funkce PHP pro práci s proudy a funkce pro práci s buffery a nějak to před odesláním binárně poslepovat (brr, složité)
3. Použít následující fintu:

<img src="48_show.php?obrazek=1"><br>
<img src="48_show.php?obrazek=2"><br>
tony
Profil *
Alphard
ked citam ten obrazok z DB ako binarne data, tak je to OK. No ako to nacitam zo suboru ako binarne data?
tony
Profil *
Vzdy mi pise tuto chybu:

Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: in c:\program files\easyphp1-8\www\show_image.php3 on line 6

Warning: imagecreatefromjpeg(): '1.jpg' is not a valid JPEG file in c:\program files\easyphp1-8\www\show_image.php3 on line 6

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\show_image.php3:6) in c:\program files\easyphp1-8\www\show_image.php3 on line 8
tony
Profil *
chybu uz nepise, chybala mi hlavicka... tu je kod:

header("Content-Type: image/jpeg");
$fotka = imagecreatefromjpeg("./fotky/$id_fotky.jpg");

echo $fotka;

a tu je vysledok:

http://localhost/show_image.php3?id_fotky=2
tony
Profil *
a ked zobrazim zdrojak tak je tam zase ta chyba ;o)
tony
Profil *
ked to zmenim na gif:

header("Content-Type: image/gif");
$fotka = imagecreatefromgif("1.gif");

tak vypise toto:

Obrazek nelze zobrazit, protoze obsahuje chyby

som vazne bezradny pls help
tony
Profil *
a v zdrojaku pri gif je zas:

Resource id #4
tony
Profil *
na webhostingu mi ide to jpg, nepise chybu, no v zdrojaku mam to co pri gife: Resource id #4
tony
Profil *
uz to mam funkcne:

$path="./images/novy_projekt.jpg";

$file = fread(fopen($path, "r"), filesize($path));
header("Content-Type: image/jpeg");

echo $file;
fclose($file);
Alphard.
Profil *
header("Content-Type: image/jpeg");
$fotka = imagecreatefromjpeg("./fotky/$id_fotky.jpg");

echo je špatně

echo $fotka;

pro vypsání se musí použít funkce:

imagejpeg($fotka);
Toto téma je uzamčeno. Odpověď nelze zaslat.