Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wydobywanie grafiki z pól typu BLOB
rav_83
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.03.2005

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


Pracuje na bazie w ktorej niestety wszystkie pliki graficzne (zdjecia) zapisane sa w polach typu BLOB. W jaki sposob wyciagnac takie zdjecie? Czytalem, ze w tym celu trzeba uzyc odpowiednich naglowkow?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Puciek
post
Post #2


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


A jak sa wpisane w blob ? Zawartoscia pliku ? W tym momencie msusiz wiedziec jakie rozszerzenie i tutaj klania sie header" title="Zobacz w manualu PHP" target="_manual ktorym wywolujesz odpowiednni naglowek a potem tylko echo na tresc zapisu z bazy (IMG:http://forum.php.pl/style_emoticons/default/happy.gif)
Go to the top of the page
+Quote Post
crash
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


grafika.php:
  1. <?php
  2.  
  3. header('Content-type: image/jpeg'); // /png /gif
  4.  
  5. $grafika = mysql_fetch_row(mysql_query('SELECT dane FROM grafiki WHERE id = '.(int)$_GET['id'].' LIMIT 1'));
  6.  
  7. echo $grafika[0];
  8.  
  9.  
  10. ?>

Wywołanie:
  1. <img src="./grafika.php?id=3" alt=""/>

To tylko przykład, tak żebyś zrozumiał co i jak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował crashu 12.03.2005, 09:07:57
Go to the top of the page
+Quote Post
rav_83
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 12.03.2005

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


Niestety nie dziala (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) moj pelny kod wyglada tak:
  1. <?php
  2.  
  3. @ $db = mysql_pconnect(&#092;"xxx\",\"xxx\",\"xxx\");
  4. if (!$db)
  5. {
  6. echo &#092;"blad: nie mozna polaczyc sie z baza danych, sproboj ponownie.\";
  7. }
  8.  
  9.  mysql_select_db(&#092;"xxx\");
  10.  
  11. header(&#092;"Content-type: image/jpg\"); 
  12.  
  13. $grafika = mysql_fetch_row(mysql_query(&#092;"SELECT unikat FROM zdjecia WHERE id='PSK00258' LIMIT 1\"));
  14.  
  15. echo $grafika[0];
  16.  
  17.  
  18. ?>


W tym momencie jest juz blad....

"Cannot modify header information - headers already sent by (output started at oto.php:4) in foto.php on line 31

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in foto.php on line 33"
Go to the top of the page
+Quote Post
tts
post
Post #5





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 14.02.2005

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


to chyba nie jest pelny kod bo rozumiem, ze te bledy, ktore ci wyskakuja odnosza sie do tego listingu jaki przestawies. to co tu sie stalo to po pierwsze blad zapytania sql i wyslanie do przegladarki komunikatu
Cytat
blad: nie mozna polaczyc sie z baza danych, sproboj ponownie.
, a skoro juz przeslales cokolwiek do przegladarki to wywolanie header generuje kolejny blad. reasumujac proponuje sprawdzic wpierw co sie stalo zlego w zapytaniu sql. a co do kodu to po mojemu to powinno byc jakos tak zorganizowane (albo jeszcze lepiej):
  1. <?php
  2.  
  3. function polacz() {
  4.  # to oczywiscie powinno wyladowac w jakiejs bibliotece
  5.  $db = @mysql_pconnect(&#092;"xxx\",\"xxx\",\"xxx\");
  6. if (!$db)
  7. return false;
  8.  else {
  9. if(!mysql_select_db(&#092;"xxx\");
  10.  return false;
  11. else
  12.  return true;
  13.  }  
  14. }
  15.  
  16.  
  17. function pobierz_zdjecie($id_zdjecia) {
  18.  if(!polacz())
  19. return false;
  20.  else {
  21. $wynik = mysql_query(&#092;"SELECT unikat FROM zdjecia WHERE id='$id_zdjecia' LIMIT 0, 1\");
  22. if(!$wynik)
  23.  return false;
  24. else {
  25.  if(mysql_num_rows($wynik) != 1)
  26. return false;
  27.  else {
  28.  $wynik = mysql_fetch_array($wynik);
  29.  return $wynik; 
  30.  } # (else)  if(mysql_num_rows($wynik) != 1)
  31. } # (else) if(!$wynik)
  32.  } # (else) if(!polacz())
  33. } # function pobierz_zdjecie($id_zdjecia)
  34.  
  35. # glowny skrypt: (oczywiscie jeszcze trzeba sprawdzic zanim zaczniemy przetwarzac parametry j
    a
  36. ie do niego wprowadzamy) 
  37.  
  38. # (....)
  39.  
  40. $grafika = pobierz_zdjecie($id);
  41. if( !$grafika ) {
  42.  # komunikat o bledzie
  43. }
  44. else {
  45.  header(&#092;"Content-type: image/jpg\");
  46.  echo $grafika['unikat'];  
  47. }
  48.  
  49. ?>
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: 24.08.2025 - 11:32