I'm uploading image with object-oriented paradigm and I'm having a strange error:
The upload is successful, the image is normally displayed on the site. All normal.
But when I go in the folder I saved the images, although they are there, windows explorer does not show the thumbnail, it only shows that the image is there and with its normal properties.
By doing a test, I tried to compress them into .zip but the compaction error winrar. What can it be?
Permission 777 in the
<?php
class Upload {
private $nome;
private $nomeBanco;
private $nomeTemporario;
private $largura;
private $altura;
private $tamanho;
private $endereco;
private $extensao;
public function __construct ($_file, $_url) {
$dimensoes = getimagesize($_file["tmp_name"]);
$this->extensao = pathinfo($_file["name"], PATHINFO_EXTENSION);
$this->nome = $_file["name"];
$this->nomeBanco = $this->setNomeBanco();
$this->nomeTemporario = $_file["tmp_name"];
$this->largura = $dimensoes[0];
$this->altura = $dimensoes[1];
$this->tamanho = $_file["size"];
$this->endereco = $_url;
}
public function setNomeBanco () {
return md5(uniqid(time())).".". $this->extensao;
}
public function getNome() {
return $this->nome;
}
public function getNomeBanco() {
return $this->nomeBanco;
}
public function getNomeTemporario() {
return $this->nomeTemporario;
}
public function getLargura() {
return $this->largura;
}
public function getAltura() {
return $this->altura;
}
public function getTamanho() {
return $this->tamanho;
}
public function getEndereco() {
return $this->endereco;
}
public function getExtensao() {
return $this->extensao;
}
}
?>
<?php
class UploadDao {
private $arquivo;
public function __construct($_upload) {
$this->arquivo = $_upload;
}
/*
Erros do arquivo;
erro ($_tamanho)
Onde $_tamanho é em bits, ou seja, 5MB - 5 * 1024 * 1024=
*/
public function erro ($_tamanho) {
$mensagem = "Sem erros!";
$erro = 0;
if(isset($this->arquivo)) {
if (
$this->arquivo->getExtensao() != "JPG" &&
$this->arquivo->getExtensao() != "jpg" &&
$this->arquivo->getExtensao() != "JPEG" &&
$this->arquivo->getExtensao() != "jpeg" &&
$this->arquivo->getExtensao() != "PNG" &&
$this->arquivo->getExtensao() != "png"
) {
$mensagem = "Imagem precisa ser nos formatos: jpg, JPG, jpeg, JPEG, png, PNG";
$erro = 1;
} else if ($this->arquivo->getTamanho() >= $_tamanho ) {
$mensagem = "Tamanho máximo da Imagem é de ".($_tamanho/(1024*1024))." MB";
$erro = 2;
}
}
return array($erro, $mensagem, $this->arquivo->getTamanho()/(1024*1024));
}
public function uploadFile() {
$erro = 0;
$mensagem = "Sucesso";
try {
$urlEnvio = $this->arquivo->getEndereco()."/".$this->arquivo->getNomeBanco();
move_uploaded_file($this->arquivo->getNomeTemporario(), $urlEnvio);
} catch (Exception $e) {
$erro = 1;
$mensagem = "falha no envio";
}
return array($erro, $mensagem);
}
private function geraMiniatura ($_largura, $_url) {
//CRIA UMA NOVA IMAGEM
if( $this->arquivo->getExtensao() == "JPG" || $this->arquivo->getExtensao() == "jpg" ) {
$imagem_orig = ImageCreateFromJPEG($this->arquivo->getNomeTemporario());
} else if( $this->arquivo->getExtensao() == "JPEG" || $this->arquivo->getExtensao() == "jpeg") {
$imagem_orig = ImageCreateFromJPEG($this->arquivo->getNomeTemporario());
} else if( $this->arquivo->getExtensao() == "PNG" || $this->arquivo->getExtensao() == "png") {
$imagem_orig = ImageCreateFromPNG($this->arquivo->getNomeTemporario());
}
//LARGURA
$pontoX = ImagesX($imagem_orig);
//ALTURA
$pontoY = ImagesY($imagem_orig);
//DEFINE OS PARÂMETROS DA MINIATURA
$largura = $_largura;
$altura = ($pontoY * $largura) / $pontoX;
//CRIA O THUMBNAIL
$imagem_fin = ImageCreateTrueColor($largura, $altura);
//COPIA A IMAGEM ORIGINAL PARA DENTRO
ImageCopyResampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY);
//SALVA A IMAGEM
ImageJPEG($imagem_fin, $_url,100);
//LIBERA A MEMÓRIA
ImageDestroy($imagem_orig);
ImageDestroy($imagem_fin);
}
}
?>