Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyswietlenie obrazka
Forum PHP.pl > Forum > Przedszkole
a79rtur
mam nastepujace pytanie .
wyswietlam obrazek pobrany z bazy danych za pomoca funkcji display.php
funkcja wyglada w duzym skrocie tak:


.....
header("Content-type: ".$type);
echo $data;

gdzie $data to pobrane z bazy binaria obrazka a $type to jego typ
obrazki wyswietlam w ten sposób:

<img src="display.php?id=3">

czy to optymalna metoda? czy jest jakas inna?

pytanie drugie: przed zapisaniem obrazka do bazy stosuje addslashes, po odczytaniu daje stripslashhes i obrazek jest zle wyswieltlany (smieci) , bez addslashes jest ok.
czemu ?
kszychu
1. Optymalna acz nie do końca. Zmieniłbym miejsce przechowywania obrazków z bazy danych na pliki.

2. Nie stosuj addslashes. A na pytanie dlaczego zrób sobie porównanie: wyświetl binarkę obrazka, nasteępnie potraktuj ją addslashes i stripslashes, ponownie wyświetl i porównaj. Będziesz wiedział co jest nie tak.
Dabroz
1) Rozwiązanie plikowe wydaje się prostsze i lepsze, ale czasem jest quota na pliki, a nie ma quoty na bazę danych i trzeba to wykorzystać

2) Może spróbuj zamiast addslashes, użyj kodowania base64 (base64_encode" title="Zobacz w manualu PHP" target="_manual)
kszychu
Cytat(Dabroz @ 2004-07-08 10:26:55)
1) Rozwiązanie plikowe wydaje się prostsze i lepsze, ale czasem jest quota na pliki, a nie ma quoty na bazę danych i trzeba to wykorzystać

Najczęściej jednak jeśli jest quota na pliki, jest też na bazę. I to znacznie mniejsza niż na pliki.
Dabroz
Przepraszam za offtop, ale nie mogę się powstrzymać.

Czasem administrator serwera po prostu zapomni ustawić quote na baze i wtedy jest naprawdę dużo miejsca do wykorzystania smile.gif
a79rtur
w sumie to chodzilo mi o samą metode wyswietlania, czyli header i echo (albo print). czy ta metoda jest najlepsza ? czy jest jakas inna ?
kszychu
Jest najprostrza, co w tym przypadku równa się najlepsza.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.