Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    No output img, ma salvataggio in variabile

    ho testato questa funzione in locale aprendo un file img da una dir e funziona.

    codice:
    //CREO LA THUMBNAIL
    function makeThumbnail($o_file, $t_ht = 100) {
       $image_info = getimagesize($o_file) ; // see EXIF for faster way
      
       switch ($image_info['mime']) {
           case 'image/gif':
               if (imagetypes() & IMG_GIF)  { // not the same as IMAGETYPE
                   $o_im = imagecreatefromgif($o_file) ;
               } else {
                   $ermsg = 'GIF images are not supported
    ';
               }
               break;
           case 'image/jpeg':
               if (imagetypes() & IMG_JPG)  {
                   $o_im = imagecreatefromjpeg($o_file) ;
               } else {
                   $ermsg = 'JPEG images are not supported
    ';
               }
               break;
           case 'image/png':
               if (imagetypes() & IMG_PNG)  {
                   $o_im = imagecreatefrompng($o_file) ;
               } else {
                   $ermsg = 'PNG images are not supported
    ';
               }
               break;
           case 'image/wbmp':
               if (imagetypes() & IMG_WBMP)  {
                   $o_im = imagecreatefromwbmp($o_file) ;
               } else {
                   $ermsg = 'WBMP images are not supported
    ';
               }
               break;
           default:
               $ermsg = $image_info['mime'].' images are not supported
    ';
               break;
       }
      
       if (!isset($ermsg)) {
           $o_wd = imagesx($o_im) ;
           $o_ht = imagesy($o_im) ;
           // thumbnail width = target * original width / original height
           $t_wd = round($o_wd * $t_ht / $o_ht) ;
    
           $t_im = imagecreatetruecolor($t_wd,$t_ht);
          
           imagecopyresampled($t_im, $o_im, 0, 0, 0, 0, $t_wd, $t_ht, $o_wd, $o_ht);
          
           imagejpeg($t_im);
          
           imagedestroy($o_im);
           imagedestroy($t_im);
       }
       return isset($ermsg)?$ermsg:NULL;
    }
    makeThumbnail($filename, 100);

    Il problema è che vorrei che salvasse le thumb generate dalla lettura della dir in una variabile, in modo da poterle inserire nel db, o utilizzarle successivamente, ma, purtoppo non capisco come modificare la funzione affinchè faccia questo.
    Sono certa che si tratta di una cavolata, ma non ho ancora capito bene come agiscono queste funzioni imagecopyresampled & co messe lì senza alcuna variabile.... Ho già letto il manuale, ma non vengono mai racchiuse in var perchè?

    Potreste aiutarmi?

    Un'altra cosa. Pensate sia più opportuno salvare direttamente la miniatura nel db o generarla automaticamente quando nessessario? Forse, se non richiedesse troppo tempo al server la seconda ipotesi sembrerebbe la migliore.

    Grazie.



  2. #2
    $t_im contiene la stringa da passare al database

    ciao

  3. #3
    Originariamente inviato da bubu77
    $t_im contiene la stringa da passare al database

    ciao
    Ciao bubu77, perdonami, ma ci combatto da tre giorni e, a quanto pare, queste funzioni image non mi vogliono entrare in testa.

    supponiamo che dopo una serie di controlli io voglia inserire nel mio db un'image big ed una miniatura.

    img big:
    codice:
    $imgBig = addslashes(file_get_contents($_FILES['upfile']['tmp_name']));
    considerando la precedente funzione, miniatura a cosa dovrebbe essere uguale?
    codice:
    $miniatura = makeThumbnail($imgBig, $t_ht = 100); (?!?)
    in questo modo ovviamente non funziona, perchè logicamente dovrei modificare la funzione, ma non ci riesco....

    Che dici butto tutto e procedo da file system?!
    A questo punto vorrei cmq capire...

    Grazie per il tuo aiuto...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.