Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] wyświetlanie grafiki pobranej z bazy
MartInR
post 23.05.2011, 15:12:00
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.03.2011

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


Witam!

Mam problem z wyświetleniem grafiki pobranej z bazy danych.
  1. $sql = "select * from gallery where id = ".$id;
  2. $r = mysql_query($sql) or die('error: '.mysql_error());
  3. $grafika = $i['data'];
  4.  
  5. // pokaz obrazek
  6. header( "Content-type: image/jpeg");
  7. echo $grafika;


Zamiast grafiki mam komunikat.
Obrazek "http://localhost/forum3/" nie może zostać wyświetlony ponieważ zawiera błędy.

Jeśli wywalę headera to zamiast obrazka wyświetla mi się taki kod jakbym otworzył tą grafikę w notatniku.
Czyli chyba z bazy danych grafika jest pobierana właściwie.

Próbowałem też:
  1. $obraz=imageCreateFromString($grafika);
  2. imageJPEG($obraz);
  3.  
  4. imageDestroy($obraz);

Wyświetla się to samo co w przypadku 1 bez headera.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Micchaleq
post 23.05.2011, 15:24:35
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 4
Dołączył: 13.10.2009

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


a obrazek jaki ma format jpeg?

w bazie danych przechowywana jest pewnie ścieżka do obrazka więc warto sprawdzić czy kod dobrze ją interpretuje.

możesz jeszcze spróbować :
echo <img src='".$grafika."'>;

Ten post edytował Micchaleq 23.05.2011, 15:28:56


--------------------
Go to the top of the page
+Quote Post
MartInR
post 23.05.2011, 16:31:58
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.03.2011

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


Tak, obrazek to jpeg.

Ten sam komunikat. nie może zostać wyświetlony ponieważ zawiera błędy.


A może ktoś ewentualnie napisać jak grafikę do katalogu a, w bazie przechowywać tylko nazwę.
Go to the top of the page
+Quote Post
kuba32
post 23.05.2011, 16:56:06
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 2
Dołączył: 8.09.2010

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


no to w bazie trzymasz tylko nazwę pliku graficznego wraz z rozszerzeniem, pobierasz ją i wyświetlasz:
  1. $sql = "select * from gallery where id = ".$id;
  2. $r = mysql_query($sql) or die('error: '.mysql_error());
  3. $grafika = $i['data'];
  4.  
  5. // pokaz obrazek
  6.  
  7. echo '<img src="folder/'.$grafika.'"/>';
Go to the top of the page
+Quote Post
MartInR
post 23.05.2011, 17:20:06
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.03.2011

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


No dobrze. Jeszcze potrzebuje wysłać przez formularz jakąś grafikę do katalogu.

mam coś takiego:
  1. echo '<form enctype="multipart/form-data" action="index.php?send" method="POST">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="50000" />
  3. <input name="plik" type="file" />
  4. <input type="submit" value="Wyślij plik" />
  5. </form> ';

Do zapisu:
  1. //katalog upload znajduje się tam gdzie skrypt
  2. $dir='upload/';
  3. if(move_uploaded_file($_FILES['plik']['tmp_name'], $dir.$_FILES['plik']['name']))
  4. {
  5. echo 'Plik wysłany pomyślnie';
  6. } else
  7. {
  8. echo 'Pliku nie udało się wysłac';
  9. }


I właśnie zapis pliku do katalogu mi nie działa. Pliku nie udało się wysłać.
Może źle zapisana jest ścieżka gdzie ma być zapisany obrazek.
Go to the top of the page
+Quote Post
kadlub
post 23.05.2011, 17:56:41
Post #6





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


  1. <input type="hidden" name="MAX_FILE_SIZE" value="50000" />

a zwiększ value i zobacz bo może przesyłasz za duże pliki jak ja u siebie sprawdzałem to p[o zwiększeniu mogłem przesłać
Go to the top of the page
+Quote Post
MartInR
post 23.05.2011, 18:35:49
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.03.2011

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


Dzięki kadlub, pomogło jakoś całkiem zapomniałem o rozmiarze.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:26