Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z odczytem obrazka z bazy danych
damianwz24
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 28.01.2013

Ostrzeżenie: (0%)
-----


  1. [/php]Witam Wszystkich. Chcialem zasiegnac tutaj porady poniewaz kiedys ktos mi stad juz pomogl w sprawach msyql'a i php. Otoz mam skypt do dodawania danych binarnych do bazy i do odczytywania z bazy i wyswietlania na ekran. Zrobilem prowizorczyny przyklad polaczenie z baza dziala, dodawania i odczytywanie danych tekstowych np. zapisanych w pliku .*txt tez dziala i potem wyswietla w przegladarce wiec jest ok .. ale jak chce wyswietlic obrazek to pojawia mi sie komunikat z bledem " Obrazek http://localhost/html/dane_binarne.php nie moze zostac wyswietlony, poniewaz zawiera bledy. Dodam ze w naglowku header typ danych pobieram z formularza wiec powinno byc ok.. a nie dziala . Tak jak pisalem tylko dla obrazkow nie dziala a dla tekstu dziala..Przedstawie kod. Moze komus sie uda mi pomoc. Dzieki z gory wielkie.
  2.  
  3. [PHP] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  4. "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head><title>Zapis danych binarnych do bazy</title></head>
  7. <body>
  8. <?php
  9. if (isset($_POST['submit2']))
  10. {
  11. require_once ("konfiguracja.inc"); //laczenie z baza
  12. $zapytanie2="SELECT obraz, rodzaj_obrazu FROM obrazy WHERE obraz_id=13";
  13. if ($rezultat_zapytania=mysql_query($zapytanie2))
  14. {
  15. $image=mysql_fetch_array($rezultat_zapytania);
  16. header ("Content-type: $image[1]");
  17. echo $image[0];
  18. }
  19. } else {
  20.  
  21. if (isset($_POST['submit'])) {
  22. require_once ("konfiguracja.inc"); //laczenie z baza
  23.  
  24. $image = addslashes(fread(fopen($_FILES['nazwa']['tmp_name'], "r"), $_FILES['nazwa']['size'])); //odczytaj przesylany plik z formularza
  25. $zapytanie="INSERT INTO obrazy VALUES(0,'$image','{$_FILES['nazwa']['type']}')" ; //fopen - otwiera plik, fread - czyta z pliku
  26.  
  27. if (mysql_query($zapytanie)) { echo "Obraz numer ". mysql_insert_id(). " zostal zapisany!"; }
  28. else { echo "Obraz nie moze zostac zapisany w bazie danych". mysql_error(); }
  29. } else {
  30. ?>
  31. <form action="dane_binarne.php" method="post" enctype="multipart/form-data">
  32. <input type="hidden" name="MAX_FILE_SIZE" value="100000"/>
  33. <b>Wybierz plik: <input type="file" name="nazwa"/></b>
  34. <br><br/>
  35. <input type="submit" name="submit" value="Zapisz w bazie!"/><br><br>
  36. <input type="submit" name="submit2" value="Odczytaj z bazy!"/>
  37. </form>
  38. <?php
  39. } }
  40. ?>
  41. </body>
  42. </html>[php]
  1. [/php][php]
[PHP][/PHP]

Ten post edytował damianwz24 9.02.2013, 19:08:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
teez
post
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 6
Dołączył: 20.12.2010

Ostrzeżenie: (0%)
-----


Zmień formatowanie tekstu.

Wyskakuje Ci Header already sent?
Go to the top of the page
+Quote Post
damianwz24
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 28.01.2013

Ostrzeżenie: (0%)
-----


Header already sent(IMG:style_emoticons/default/questionmark.gif) ? a co to takiego (IMG:style_emoticons/default/questionmark.gif) ? Dodam ze jestem poczatkujacym uzytkownikiem php..
Go to the top of the page
+Quote Post
mstraczkowski
post
Post #4





Grupa: Zarejestrowani
Postów: 273
Pomógł: 52
Dołączył: 3.02.2013
Skąd: Przemyśl

Ostrzeżenie: (0%)
-----


1. Jaki to typ kolumny w której przechowujesz dane binarne w bazie?
2. Sprawdź czy to nie wina filtrowania danych (addslashes - po prostu tymczasowo usuń to i sprawdź czy pomogło)
3. Czy jesteś pewny że nagłówki header, są wysyłane przed wyrzuceniem czegokolwiek na ekran ?
4. Używanie bazy danych do przechowywania danych binarnych to zdecydowanie zły pomysł (nie wpływa korzystnie na wydajność) i powinno się tego unikać (chyba, że się uczysz)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 15:04