Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP ( GD, Edycja obrazka, z MYSQL)
seba22
post
Post #1





Grupa: Zarejestrowani
Postów: 293
Pomógł: 4
Dołączył: 28.01.2005

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


Witam,

Mam problem, ponieważ posiadam w bazie MYSQL, obrazek zakodowany w base64.

Wyciągam go sobie z serwera SQL i wstawiam w zmienną $contentz
  1. <?php
  2. $contentz = base64_decode($content);
  3. ?>


Ale kiedy próbuje wykonać operacje

  1. <?php
  2. $old_x=imageSX($src_img);
  3. $old_y=imageSY($src_img);
  4. ?>

Gdzie $src_img to pobrany z mysqla i zdekodowany obrazek... :/

  1. <?php
  2. Warningimagesx(: supplied argument is not a valid Image resource i
  3. ?>





Czy ma ktoś jakiś pomysł jak to rozwiązać, ewentualnie (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !
Mam pomysł jak to obejść, ale czy ktoś może mi pomóc, jak zapisać do jpg, ten plik z mysql-a, i powiedzmy przez chwilkę przeprowadzić na nim operacje, a potem skasować ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
seba22
post
Post #2





Grupa: Zarejestrowani
Postów: 293
Pomógł: 4
Dołączył: 28.01.2005

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


Witam,

Trzymam właśnie w kolumnie Long Blob.


Spróbowałem imagefromstring, ale dalej ten sam problem mi wyskakuje.

Tak wygląda teraz fragment kodu:


  1. <?php
  2. $contento = base64_decode($content);
  3. $contento = imagecreatefromstring($contento);
  4. createthumb($contento,'./tmp/'.$losowy_ciag.'.jpg',130,130);
  5. ?>



Wysypuje błędami:



Błąd, może nie poprawny ID ?
  1. <?php
  2. Warningimagesx(: supplied argument is not a valid Image resource in xxx
  3. Warningimagesy(: supplied argument is not a valid Image resource in xxx
  4. ?>

A te linie, są wywoływane przez createthumn, w formie funkcji która CAŁA wygląda TAK !

( zaznaczam że nie jestem jej autorem) ale na plikach nie z bazy SQL działa poprawnie.

  1. <?php
  2. function createthumb($name,$filename,$new_w,$new_h){
  3.    $system=explode('.',$name);
  4.    if (preg_match('/jpg|jpeg|JPG/',$system[1])){
  5.        $src_img=imagecreatefromjpeg($name);
  6.    }
  7.    if (preg_match('/png/',$system[1])){
  8.        $src_img=imagecreatefrompng($name);
  9.    }
  10.  
  11.    
  12. $old_x=imageSX($src_img);
  13. $old_y=imageSY($src_img);
  14. if ($old_x > $old_y) {
  15.    $thumb_w=$new_w;
  16.    $thumb_h=$old_y*($new_h/$old_x);
  17. }
  18. if ($old_x < $old_y) {
  19.    $thumb_w=$old_x*($new_w/$old_y);
  20.    $thumb_h=$new_h;
  21. }
  22. if ($old_x == $old_y) {
  23.    $thumb_w=$new_w;
  24.    $thumb_h=$new_h;
  25. }
  26. $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
  27.    imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
  28.    
  29. if (preg_match("/png/",$system[1]))
  30. {
  31.    imagepng($dst_img,$filename);
  32. } else {
  33.    imagejpeg($dst_img,$filename);
  34. }
  35. imagedestroy($dst_img);
  36. imagedestroy($src_img);
  37. }
  38. ?>



A tak pobieram obrazek od usera:


  1. <?php
  2. $fhandle = fopen($_FILES['zdjecie']['tmp_name'], "r");
  3. $text=$_FILES['zdjecie']['name'];
  4.  
  5. $content = base64_encode(fread($fhandle, $_FILES['zdjecie']['size']));
  6. fclose($fhandle);
  7. ?>


W związku z czym mam go w base64 w zmiennej $content, i teraz tą zmienną chce wykonać miniaturkę....
I teraz chciał bym wygenerować mu miniaturkę, kodem który macie powyżej.

Może byście jeszcze na to zerkli, bo coś jest nie w porządku...
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 13:33