Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Wyświetlenie obrazka z BLOB'a.
ohc4r3
post 12.12.2011, 01:24:13
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.11.2011

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


Witam, mam mały problem, uploaduje obrazki do bazy danych (BLOB) ale nie za bardzo udaje mi się je wyświetlić.
Upload wydaje się działać ponieważ mam dostęp do obrazka poprzez bazę ale na wszelki wypadek pokaże kod.
Upload:
  1. if (isset($_POST["imageup"]) && $_POST["imageup"]=="TRUE"){
  2. $file=$_FILES['image']['tmp_name'];
  3. $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
  4. $imagen= addslashes($_FILES['image']['name']);
  5. $images = getimagesize($_FILES['image']['tmp_name']);
  6. if ($images==FALSE){
  7. echo "To nie obrazek";
  8. }
  9. else
  10. {
  11. if (!$insert=mysql_query("INSERT INTO avatars VALUES ('','$sesja','$imagen','$image')")){
  12. echo "Problem z zaladowaniem obrazka";
  13. }
  14. else
  15. {
  16. echo "<img src=get.php?user=$sesja>";
  17. }
  18. }


Oczywiście zmienna $sesja jest zadeklarowana.
Plik get.php wygląda tak:
  1. $user=addslashes($_REQUEST['user']);
  2. $image=mysql_query("SELECT * FROM avatars WHERE login=$user");
  3. $image=mysql_fetch_assoc($image);
  4. $image=$image['image'];
  5. header("Content-type: image/jpeg");
  6. echo $image;


Zamiast obrazka wyświetla się ikonka zepsutego image. Po kliknięciu w pokarz obrazek: Obrazek http://localhost bla bla nie może zostać wyświetlony, ponieważ zawiera błędy.

Ten post edytował ohc4r3 12.12.2011, 01:25:00
Go to the top of the page
+Quote Post
wNogachSpisz
post 12.12.2011, 11:00:50
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

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


Myśle że addslashes powoduje problemy.
Możnaby się o tym przekonać porównując oryginał z tym co wyrzuca baza na poziomie binarnym, TotalCommander ma do tego przyjemne narzędzie.

Cytat
If binary data is to be inserted, this function must be used.
http://www.php.net/manual/en/function.mysq...cape-string.php
Go to the top of the page
+Quote Post
ohc4r3
post 12.12.2011, 17:31:08
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 20.11.2011

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


Dzięki, zamieniłem addslashesh, popróbowałem i nadal to samo niestety..
Go to the top of the page
+Quote Post
wNogachSpisz
post 12.12.2011, 17:36:30
Post #4





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

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


pokaż kod
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: 19.07.2025 - 13:00