How to create a Thumbnail of an image that is saved in the DB?

1

I have a saved image in the BD I need to know how to resize it, how to save it to a folder.

    
asked by anonymous 16.01.2015 / 12:15

1 answer

1

RESOLVED

    //Seta endereço da Imagem
    $src = './thumbnail/'.$objeto->id.'.jpg';

    //VERIFICA SE ARQUIVO THUMBNAIL JA EXISTE
    //E Verifica se ARRAY DE BYTES QUE VEM DO BD é nulo
    if(!file_exists($src) && $objeto->foto!=null){
      $arquivo = fopen($src,'wb');
      //Salva foto original
      fwrite($arquivo, $objeto->foto);
      fclose($arquivo);
      //Carrega foto Original
      $img = WideImage::load($src);
      //Redimensiona imagem, usando parametro inside não destorce a imagem
      $img = $img->resize(100,100,'inside');
      //Salva foto com qualidade 80%
      $img->saveToFile($src,80);
   }
//MOSTRAR IMAGEM 
if(file_exists($src)) //verifica se imagem existe, pode ser que não exista foto no BD no entanto é preciso tratar quando nao houver pois não será criado nenhum arquivo
    echo "<img src='$src'/>";
else
    echo "<img src='./thumbnail/default.jpg'/>";

Note: The WideImage load function can receive binary but I could not make it work by doing photo)

Thanks to @Maniero who helped me save file How to save array of bytes in a file in PHP?

    
16.01.2015 / 12:33