Avatar billede Slettet bruger
09. marts 2003 - 16:27 Der er 21 kommentarer og
1 løsning

gdlib

når jeg har resamplet et billede med imagecopyresampled()
vil jeg gerne have udskrevet selve billedet som skal ind i en BLOB i min mysql-db?? er der nogen der kan hjælpe mig??
Avatar billede Slettet bruger
09. marts 2003 - 18:20 #1
det var der åbenbart ikke nogen der kunne hjælpe mig med!
Avatar billede avminarm Juniormester
11. marts 2003 - 09:55 #2
halløj - jeg sidder lidt med samme problem - jeg har lavet noget uploadscript hvor et billede uploades til en database, men jeg skal have puttet en stump sammen som ændrer størelsen på billedet (thumbnails) og så ind i DB - har du fundet en løsning?
Avatar billede Slettet bruger
11. marts 2003 - 17:47 #3
ja.... jeg gemmer billedet som fil og smider den ind i databasen... derefter sletter jeg filen..
Avatar billede avminarm Juniormester
11. marts 2003 - 20:10 #4
kunne man lokke lidt kode ud af dig ;o)
Avatar billede Slettet bruger
11. marts 2003 - 22:36 #5
np.... kan jeg få lidt points for det?? hvis jeg må, så bare giv mig dem!!

her er lidt kode ihvertfald... upload-funktionen regner jeg med at du har lavet selv.

Advarer dig om at koden er lidt rodet lige nu, men hvis du gad optimize den må du gerne poste resultatet. skulle gerne gemme både en thumb og en orig.
HUSK at CHMODDE den mappe som de to filer skal ligge i til 777 !


    $max_size = "150";


      // ændr selv

    $res = "grafik/temp/upload_result.jpg";
    $org = "grafik/temp/upload.jpg";
   
      // her skal nok laves lidt om altefter hvad du har kaldt din upload-form-ting
    copy ($form_data, "grafik/temp/upload.jpg");

    $size = getimagesize($org);
    $sourcew=$size[0];
    $sourceh=$size[1];

    $source_props = $sourceh / $sourcew;
   
    if ($sourceprops == 1) {$destw = $max_size; $desth = $max_size;}
    else if ($sourceprops <= 1) {$destw = $max_size; $desth = ($max_size * $source_props); }
    else if ($sourceprops >= 1) {$desth = $max_size; $destw = ($max_size / $source_props);  }

    $new = imagecreatetruecolor($destw,$desth);
    $img = imagecreatefromjpeg ($org);
 
    imagecopyresampled ($new, $img, 0, 0, 0, 0, $destw, $desth, $sourcew, $sourceh);
    imagedestroy($img);
   
    imagejpeg($new,$res,"100");
    imagedestroy($new);
     
    $data = addslashes(fread(fopen($org, "r"), filesize($org)));
    $data2 = addslashes(fread(fopen($res, "r"), filesize($res)));
     
    $q="INSERT INTO nuts_billeder (billede,billede_filtype, thumbnail, thumbnail_filtype)".
      "VALUES ('$data','image/jpeg', '$data2', 'image/jpeg')";

    mysql_connect("", "", "");
    mysql_select_db("");
    mysql_query($q);
    mysql_close();

?>
Avatar billede Slettet bruger
11. marts 2003 - 22:37 #6
hov... og den er lavet til GDlib 2.0
Avatar billede avminarm Juniormester
12. marts 2003 - 09:00 #7
Hmm - tror ikke helt det var det jeg ledte efter - se evt. http://www.eksperten.dk/spm/327671, men hvis du vil have særskilt points for at vise dit script kan jeg godt oprette dem til dig - hvor mange?
Avatar billede Slettet bruger
12. marts 2003 - 12:17 #8
du ville have den, så den ikke skulle gemmes på disken??

det kan man vistnok ikke.. det mener jeg at jeg læste på eksperten??

hvad skal laves om?

mit script gemmer et uploadet billede i en database sammen med thumbnailen til samme billede.
Avatar billede avminarm Juniormester
12. marts 2003 - 13:29 #9
Har du kigget på: http://www.eksperten.dk/spm/327671 - jeg ville gerne hve at der i forbindelse med upload/gemt i database blev genereret en thumb som ligeledes gemmes i databasen. Jeg har læst noget med tmpfile() men har ikke rigtig luret det?
Avatar billede Slettet bruger
12. marts 2003 - 14:03 #10
ja.. men det er oxo det som mit script gerne skulle gøre??

jeg har bare pillet selve upload-formen fra, da jeg forstod det som om at du havde en selv
Avatar billede avminarm Juniormester
12. marts 2003 - 15:22 #11
hmm - jeg er sgu nok nødt til at kigge lidt nærmere på det her - så - jeg må bare indrømme at jeg ikke er så familiær med GDlibfunktionen endnu, men du har ret i at jeg har uploadfunktionen, men kan man gøre det direkte i forbindelse med upload - altså med:  $org=$_FILES['pic']['tmp_name'];
Avatar billede Slettet bruger
12. marts 2003 - 20:03 #12
ja

hvis du kalder din file-form for $form_data, virker den med mit script
Avatar billede Slettet bruger
12. marts 2003 - 20:05 #13
ups... jeg laver den ikke direkte... du skal så også ændre org til $form_data

og file-formen skal hedde form_data UDEN $..
Avatar billede avminarm Juniormester
12. marts 2003 - 21:45 #14
jeg har stykket dette her sammen, men det med thumb vil ikke rigtig virke ??

  $filename=$_FILES['pic']['tmp_name'];
 
    $max_size = "150";
    $org = $filename; //tilf
    $res =  //hvad mon den skal være?
 
    $size = getimagesize($org);
    $sourcew=$size[0];
    $sourceh=$size[1];

    $source_props = $sourceh / $sourcew;
   
    if ($sourceprops == 1) {$destw = $max_size; $desth = $max_size;}
    elseif ($sourceprops <= 1) {$destw = $max_size; $desth = ($max_size * $source_props); }
    elseif ($sourceprops >= 1) {$desth = $max_size; $destw = ($max_size / $source_props);  }

    $new = imagecreatetruecolor($destw,$desth);
    $img = imagecreatefromjpeg ($org);
 
    imagecopyresampled ($new, $img, 0, 0, 0, 0, $destw, $desth, $sourcew, $sourceh);
    imagedestroy($img);
   
    $res = imagejpeg($new,$res,"100");
    imagedestroy($new);
     
    $thumb = addslashes(fread(fopen($res, "r"), filesize($res)));
     
  if (is_uploaded_file($filename)) {
  $data = addslashes(fread(fopen($filename,"r"),filesize($filename)));
  $a=getimagesize($filename);
      $width=$a[0];
      $height=$a[1];
  $type=addslashes($_FILES['pic']['type']);

    mysql_query("INSERT INTO billede (beskrivelse,billede,width,height,filetype,thumbnail,thumbnail_filtype) values ('Et billede','$data','$width','$height','$type','$thumb','image/jpeg')") or die (mysql_error());

} else {
    echo "Possible file upload attack. Filename: " . $_FILES['pic']['name'];
}
Avatar billede Slettet bruger
13. marts 2003 - 12:37 #15
$res er der du vil gemme resultatet
Avatar billede avminarm Juniormester
13. marts 2003 - 12:56 #16
dvs jeg skal lave en mappe på serveren til denne - dvs- jeg skal chmod ik?
Avatar billede Slettet bruger
13. marts 2003 - 13:05 #17
jow... jeg chmoddede min til 777 for at være på den sikre side..
Avatar billede avminarm Juniormester
13. marts 2003 - 13:37 #18
hmm - jeg er ikke meget for at skulle chmod, ville gerne have det kunne køre direkte i DB
Avatar billede Slettet bruger
13. marts 2003 - 18:15 #19
det kan man desv. ikke med gdlib :(
Avatar billede avminarm Juniormester
13. marts 2003 - 22:51 #20
hmm - ærgeligt, men du fortjener nu lidt for ulejligheden - hvad synes du er passende? - så opretter jeg et sprg med points til dig.
Avatar billede Slettet bruger
14. marts 2003 - 09:30 #21
30 ville jeg være tilfreds med
Avatar billede avminarm Juniormester
14. marts 2003 - 11:16 #22
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester