GD-Bild in Datenbank speicher

Dieses Thema im Forum "Webentwicklung" wurde erstellt von RabBit86, 25. April 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 25. April 2006
    Hallo @ll

    @MODs & CO: Habe gerade schonmal so ein Thema erstellt. Hat mir dann aber ein Fehler zurückgeschickt. Das Thema ist zwar da, man kann aber nicht reingehen. KP... Bitte das ander Thema löschen. Danke...

    Bin die ganze Zeit am scripten und komme nicht weiter. Habe bereits bei google geschaut aber nix gefunden. Die Suche hier habe ich auch schon benutzt.

    Nun zu mein Problem

    Mein Script soll das Bild, welches per Formular hochgeladen wird bearbeiten und abspeichern. Das klappt alles schon super. Nun habe ich es erweitert und will, dass das Hochgeladene Bild nochmals bearbeitet wird und dieses dann in der DB abspeichert.
    Und hier komme ich nicht weiter.

    Das Bild wird nicht in der DB abgespeichert.
    Das Script ist für meine Bekannte und deren Katzen Page....

    PHP:
    // Bild Funktion Anfang
    function  bildsize ( $kater , $katze , $geboren , $limit , $filepath , $text ){
    if(
    file_exists ( $filepath )) {
    $bildinfo  getimagesize ( $filepath );
    $date = date ( "Y-m-d_H-i-s" );
    if(
    $bildinfo [ 2 ]== 1 $fileend = '.gif' ;
    if(
    $bildinfo [ 2 ]== 2 $fileend = '.jpg' ;
    if(
    $bildinfo [ 2 ]== 3 $fileend = '.png' ;

    $newpath = '../bcats/pics/kitten/' . $geboren . '_' . $katze . '/' . $date . '_kitten' . $fileend ;

    //Bild-Typ auswählen
    if( $bildinfo [ 2 ]== 1 $oldpicmemory = imagecreatefromgif ( $filepath );
    if(
    $bildinfo [ 2 ]== 2 $oldpicmemory = imagecreatefromjpeg ( $filepath );
    if(
    $bildinfo [ 2 ]== 3 $oldpicmemory = imagecreatefrompng ( $filepath );

    // Bild-Größe berechnen
    if( $bildinfo [ 0 ]>= $limit  ||  $bildinfo [ 1 ]>= $limit ) {
    if(
    $bildinfo [ 0 ]>= $bildinfo [ 1 ]) {
    $hoch  $bildinfo [ 1 ]* $limit / $bildinfo [ 0 ];
    $newpicmemory  imagecreatetruecolor ( $limit , $hoch );
    imagecopyresampled ( $newpicmemory , $oldpicmemory , 0 , 0 , 0 , 0 , $limit , $hoch , $bildinfo [ 0 ], $bildinfo [ 1 ]);
    //kleines Pic
    $hochmini  $bildinfo [ 1 ]* 100 / $bildinfo [ 0 ];
    $newpicmemorymini  imagecreatetruecolor ( 100 , $hochmini );

    imagecopyresampled ( $newpicmemorymini , $oldpicmemory , 0 , 0 , 0 , 0 , 100 , $hochmini , $bildinfo [ 0 ], $bildinfo [ 1 ]);
    } else {
    $breit  $bildinfo [ 0 ]* $limit / $bildinfo [ 1 ];
    $newpicmemory  imagecreatetruecolor ( $breit , $limit );
    imagecopyresampled ( $newpicmemory , $oldpicmemory , 0 , 0 , 0 , 0 , $breit , $limit , $bildinfo [ 0 ], $bildinfo [ 1 ]);
    //kleines Pic
    $breitmini  $bildinfo [ 0 ]* 100 / $bildinfo [ 1 ];
    $newpicmemorymini  imagecreatetruecolor ( $breitmini , 100 );

    imagecopyresampled ( $newpicmemorymini , $oldpicmemory , 0 , 0 , 0 , 0 , $breitmini , 100 , $bildinfo [ 0 ], $bildinfo [ 1 ]);
    }
    if(
    $bildinfo [ 2 ]== 1 ) {  imagegif ( $newpicmemory $newpath 86 );  $bildmini = imagegif ( $newpicmemorymini , '' 86 ); }
    if(
    $bildinfo [ 2 ]== 2 ) {  imagejpeg ( $newpicmemory $newpath 86 );  $bildmini = imagejpeg ( $newpicmemorymini , '' 86 ); }
    if(
    $bildinfo [ 2 ]== 3 ) {  imagepng ( $newpicmemory $newpath 86 );  $bildmini = imagepng ( $newpicmemorymini , '' 86 ); }
    imagedestroy ( $oldpicmemory );
    imagedestroy ( $newpicmemory ); 
    } else {
    @
    copy ( $filepath $newpath );
    }
    $text  str_replace ( "\n" "<br>" $text );
    $dbbild = addslashes ( $bildmini , filesize ( $bildmini ));    //hier müsste der Fehler sein, ODER?
    mysql_query ( "INSERT INTO RabHP_bcatskittenpics(kater,katze,geboren,bild,text,mini)VALUES(' $kater ',' $katze ',' $geboren ','kitten/" . $geboren . "_" . $katze . "/" . $date . "_kitten" . $fileend . "',' $text ',' $dbbild ')" );   // Das kleine Pic soll unter 'mini[BLOB]' in der DB abgespeichert.
    imagedestroy ( $newpicmemorymini );
    return 
    1 ;
    } else {
    return 
    0 ;
    }
    // Bild Funktion Ende


    if( bildsize ( $kittenload [ kater ], $kittenload [ katze ], $kittenload [ geboren ], 400 , $_FILES [ $file ][ 'tmp_name' ], $_POST [ 'text1' ])== 1 ) {
    info ( "Die Datei <b>" . $_FILES [ $file ][ 'name' ]. "</b> wurde erfolgreich hochgeladen..." );
    } else { 
    info ( "Es ist ein Fehler aufgetreten..." );}}
    Bitte helft mir.

    MFG RabBit
     
  2. 25. April 2006
    RE: GD-Bild in DB speicher [2]

    willst du den path in der db speichern oder ?

    weil ein bild kannst du nicht in der db speichern ,.,..
     
  3. 25. April 2006
    In der Datenbank kann man nicht nur Bilder speichern, sondern auch andere Files.

    Hier ein Link, wie man Bilder in der DB speichert.

    http://www.infos24.de/mysqle/handbuch/9_mysql_binaries.htm

    Das ist auch kein problem. Habe ich auch schon hingekriegt. Ich will aber ein bearbeitetes Bild mit PHP in der DB speichert, und da komm ich leider nicht weiter.
     
  4. 25. April 2006
    Danke für den Fullquote, so konnte ich es direkt 2x lesen *g*

    @topic:
    Poste doch mal bitte die entsprechende Fehlermeldung.
     
  5. 26. April 2006
    Es kommt leider keine Fehlermeldung...


    Habe jetzt zwar schon ne andere Lösung genommen, aber die Lösung will ich nicht unbedingt haben. Und zwar wird jetzt bei mir das bearbeitete Bild(Thumbnail) erst auf den Space gespeichert, danach in die DB geladen und dann vom Space gelöscht.

    Ich wollte es aber gerne, dass das Thumbnail direkt aus den Zwischenspeicher von PHP in der DB gespeichert wird, ohne erst vorher auf den Space zu speichern und dann zu löschen.

    Ich hoffe, das jemand noch ne Lösung dafür findet.

    MFG RabBit
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.