Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyswietlanie obrazków z pola blob
Forum PHP.pl > Forum > Przedszkole
lucks
mam problem z wyswietleniem obrazków z mysqla z pola blob, wszystko sie niby zapisuje (pod IE,pod firefox nie chce sie zapisac) ale przy odczycie to juz masakra
  1. <?php
  2.  
  3. $zapytanie = mysql_query("SELECT * FROM towary WHERE Nr_towaru=".$_GET['rekord_id']);
  4. $wykonaj = mysql_fetch_object($zapytanie);
  5. header("Content-type: image/gif");
  6. header("Content-type: image/jpg");
  7. echo stripslashes($wykonaj->Zdjecie);
  8.  
  9. ?>


wyświetla tylko krzaki pliku binarnego
moze macie jakies pomysly?
NuLL
Po pierwsze proponuje poczytac co pisza na forum nt. trzymania plikow bazie - tymbardziej grafiki.
lucks
no ok, ale jesli mimo wszystko chciałbym umiescic grafike w bazie to gdzie szukac przyczyny tych krzakow?
SongoQ
Zostaw prawidlowy naglowek.
lucks
a jak wygląda prawidlowy naglowek? nie wiem juz co moge jeszcze zmienic....
dr_bonzo
NAglowek z typem pliku musi byc odpowiedni do pliku i jeden.
stripslashes() jest niepotrzebne (tzn NIE moze sie tam znalezc bo ci pousuwa bajty z pliku graficznego reprezentujace slashe w ASCII)
lucks
wywaliłem stripslashes() i kiedy zostawiam naglowek jpg to wyskakuje okno "zapisz plik" akiedy zostawiam gif to nadal są krzaczki....
tomekp
W jakim formacie masz to zdjęcie?
lucks
kiedy mam naglowek na gif to wyswietlam gifa a kiedy jpg to jpg, celowo dodalem zdjecia w roznych formatach do testow
SongoQ
A nie lepiej odczytywac naglowek automatycznie i dodawac do bazy danych wtedy tylko to wysylasz nic nie musisz kombinowac i czy to jest grafika czy txt to nie robi Ci roznicy jaki header wysylasz.
lucks
bardzo mi sie ta koncepcja podoba..... a jak to zrobic? smile.gif
SongoQ
Jesli robisz upload przez php to wszystko siedzi w $_FILES
print_r($_FILES) pokaze Ci wszystkie informacje.
lucks
kurcze zwraca mi tylko: array() bez wartosci
SongoQ
He he ale to musisz plik wyslac na serwer.
  1. <input name="grafika" type="file" />
lucks
czesciowo sie wyjasniło..... otoz zmienna $_FILES nie miała zadnej wartosci dopóki nie dodałem w formularzu
  1. ENCTYPE="multipart/form-data">


problem polega na tym ze teraz niby wszystko działa ale pliki nie zapisuja sie w bazie
zmiana zaowocowała tez błądem fopen() ale zamieniłem na file() i jest ok


formularz
  1. <tr><td align="right">zdjecie </td><td><input type="file" name="Zdjecie"></td></tr>

dodanie
  1. <?php
  2. $obraz = addslashes(file(fopen($_POST['Zdjecie'],"rb"),filesize($_POST['Zdjecie'])));
  3. $zapytanie="INSERT INTO towary Zdjecie VALUES '$obraz'";
  4. ?>


jaki wpływ ma ta linijka na zapis w bazie i co zrobić zeby to wreszcie zadziałao?
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.