0
I have a system that generates the thumbnail as the images come from the BD below:
/**
* $diretorio e $foto vem corretamente do BD quando o método é chamado
* O método encontra-se no diretório classes/
*/
public function gerarThumb($diretorio,$foto){
$diretorioNormal = '../'.$diretorio;
$diretorioThumb = '../'.$diretorio."thumb/";
$fotoDir = $diretorioNormal.$foto;
echo '<img src="'.$fotoDir.'">';
list($largura,$altura) = getimagesize($fotoDir);
list($arquivo,$extensao) = explode(".",$foto);
if($extensao == "jpg" || $extensao == "jpeg" || $extensao == "JPG"){
if($largura > $altura){
$novaLargura = 296;
$novaAltura = 219;
$miniatura = imagecreatetruecolor($novaLargura, $novaAltura);
$imagem = imagecreatefromjpeg($fotoDir);
imagecopyresampled($miniatura, $imagem, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagejpeg($miniatura,$diretorioThumb.$foto,90);
}
if($altura > $largura){
$novaLargura = 170;
$novaAltura = 240;
$miniatura = imagecreatetruecolor($novaLargura, $novaAltura);
$imagem = imagecreatefromjpeg($fotoDir);
imagecopyresampled($miniatura, $imagem, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagejpeg($miniatura,$diretorioThumb.$foto,90);
}
}if($extensao == "png"){
$miniaturaPNG = imagecreatetruecolor($novaLargura, $novaAltura);
$imagemPNG = imagecreatefrompng($fotoDir);
imagecopyresampled($miniaturaPNG, $imagemPNG, 0, 0, 0, 0, $novaLargura, $novaAltura, $largura, $altura);
imagepng($miniaturaPNG,$diretorioThumb.$foto,null,90);
}
list($diretorio,$arquivo) = explode('../',$diretorioThumb);
return $diretorio.$foto;
}
The problem is in getimagesize($fotoDir)
, that is appearing error below:
Warning: getimagesize(../excursoes/excursao-para-teresopolis/6521db1ad10adce32b76a9b82f334b2bae690ef07e2a07d7bbd9b22c6eb0c1a187297f9054fd91f5d0fda5aa2d47cae6630911d23762fe5fec9e3ba75bb977f2.jpg): failed to open stream: No such file or directory in ...
What I can’t figure out is that I gave echo
in the generating Humb method and the image appears correctly:
echo '<img src="'.$fotoDir.'">';
How can I fix this? Remember that GD is enabled on the server.