Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyciaganie zdjec z bazy
Forum PHP.pl > Forum > PHP
aszek
Witamm przy utworzonej bazie i skrypcikuu dlaczego nie wsysietlaja sie zdjecia / zgory dziekuje


CREATE TABLE `moja` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`obrazek` MEDIUMBLOB NOT NULL ,
PRIMARY KEY ( `id` ) );

<php
$conn=mysql_connect("127.0.0.1","root"."krasnal":)or die ('blad bd');
$result1=mysql_seect_db("moja,$polacz) or die ('blad baza');
$sql1="select * from 'moja' ";
$result2=mysql_query($sql,$conn) or die ('blad wykonania zapytania');
$row = mysql_fetch_assoc($result2);
$grafika=$row['obrazek'];

header("Content-type:typpliku");

print $grafika;
>
Indeo
Bo zapewne przeglądarka nie zna typu pliku :

header("Content-type:typpliku");
aszek
a jak to bym mogl ominac questionmark.gif
Cezar708
Cytat(aszek @ 6.01.2008, 16:36:07 ) *
a jak to bym mogl ominac questionmark.gif


... nie... bo przeglądarka nie będzie wiedziała co z takimi danymi przysłanymi zrobić... więc Content-type na pewno musi być aby wyświetlić coś innego niż html
dadexix
Cytat
$conn=mysql_connect("127.0.0.1","root"."krasnal":)or die ('blad bd');
ten skrypt tak uśmiechnięty że w tym miejscu nie wywala errora?
doman_12
Mam w tabeli "Produkty" zadeklarowane pole "obrazek" - typu BLOB, w którym przez phpMyAdmin umieszczam ściężkę obrazka do danego produktu. Następnie w pliku .php umieszczam kod

  1. <?
  2.  
  3.  
  4.  
  5.  $connect = mysql_connect("localhost", "root", "krasnal")
  6.  
  7. or die ("Sprawdź połączenie z bazą danych.");
  8.  
  9. mysql_select_db("sklep rtv");
  10.  
  11. $query = "SELECT * FROM produkty";
  12. $results = mysql_query($query)
  13.  or die(mysql_error());
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  while($row = mysql_fetch_array($results)) 
  21.  
  22. {
  23.  
  24.  extract($row);
  25.  
  26.  
  27. echo "<a href=\"getprod.php?prodid=" . $idProdukty. "\">";
  28.  
  29.  
  30. echo $Firma; 
  31. echo "</a>";
  32.  
  33. echo "&nbsp;";
  34. echo $Model; 
  35.  
  36.  echo "<br/>"; echo "<br/>";
  37.  
  38. echo $Opis; 
  39.  
  40.  
  41. echo "<br/>"; echo "<br/>";
  42.  
  43.  [b] echo $obrazek;[/b]
  44.  
  45.  
  46. echo "Cena:";
  47.  
  48. echo "&nbsp;";
  49. echo $Cena . " zł"; 
  50. echo "<br/>"; echo "<br/>";
  51.  
  52.  
  53. }
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  ?>


Następnie wyświetlam ten plik
Kod
http://localhost/index.php
jednak obok opisu widnieją "dziwne" znaki, zamiast obrazka.


Czy aby były czytane obrazki z bazy danych w kodzie mam umiescić polecenie: header("Content-type: image/jpg")questionmark.gif Jeśli tak to w którym miejscu??
dadexix
Kod
w którym przez phpMyAdmin umieszczam ściężkę obrazka do danego produktu.
więc dajesz wynik z bazy wewątrz <img[..] />

Chyba że w bazie masz nie ścieżkę a obrazek - jego dane itd.. wtedy pobieranie obrazka dajesz do innego pliku, na początku skryptu dajesz deklaracje header([..]); i wywołujesz ten skrypt wewnątrz <img[..] />
mike
Cytat(doman_12 @ 8.01.2008, 18:16:56 ) *
Czy aby były czytane obrazki z bazy danych w kodzie mam umiescić polecenie: header("Content-type: image/jpg")questionmark.gif Jeśli tak to w którym miejscu??
Tak, musisz powiedzieć (za pomocą nagłówka) przeglądarce, że to co nadejdzie to obrazek.
Wyślij do w dowolnym miejscu zanim zaczniesz wysyłać jego zawartość (wszędzie przed echo $obrazek;)


Popraw posta proszę, wstawiając kod źródłowy w bbCode. Masz do tego znacznik [ php ] [ /php ] (spacje dałem celowo)
doman_12
Czy ktoś może mi wytłumaczyć wyświetlanie plików .jpg wrzuconych przez phpMyAdmin, zrobiłem wszystko według Waszych wskazówek dopisałem do kodu php

  1. <?php
  2. ...
  3.  
  4. echo &#092;"
  5. &#092;"; echo \"
  6. &#092;";
  7.  
  8.  
  9.  header(&#092;"Content-type: image/jpeg\"); 
  10. echo $obrazek;
  11.  
  12.  
  13. echo &#092;"Cena:\";
  14.  
  15. echo &#092;"&nbsp;\";
  16. echo $Cena . &#092;" zł\"; 
  17. echo &#092;"
  18. &#092;"; echo \"
  19. &#092;";
  20.  
  21.  
  22. }
  23. ?>


Jednak dalej na stronie zamiast obrazka widze "dziwne znaki" worriedsmiley.gif

Kod
więc dajesz wynik z bazy wewątrz <img[..] />


Co umieszam w tym <img>, np. echo <img src="$obrazek"/>?questionmark.gif

Pozdrawiam
piotrrj
To jest moj pierwszy post tongue.gif

wiem ze to za duzo nie wniesie doi tematu, ale czy zdjec nie mona trzymac po prostu a katalogu ze stronka a w bazie trzymac tylko nazwy plików? Z punktu widzenia wydajności jest to rozwiazanie bardziej optymalne i prostsze. W skrypcie tylko dajesz nazwe pliku w znaczniku <img> i to wszystko.
tongue.gif
dadexix
Kod
Jednak dalej na stronie zamiast obrazka widze "dziwne znaki" worriedsmiley.gif
co masz w bazie? kod zdjęcia? no to robisz tak:

plik pokaz.php
  1. <?php
  2. //funkcja pobierająca obrazek z bazy
  3.  
  4.  header("Content-type: image/jpeg"); 
  5. echo $obrazek;
  6. ?>


strona na której ma wyświetlić obraz:
  1. <img src="pokaz.php" alt="obrazek" />
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.