Erro ao fazer o Update da foto no Banco de Dados mysql com PHP
23/09/2017
0
Boa Tarde, estou com um problema para salvar a imagem no banco de dados. Acontece que a imagem que eu faço update vai para a pasta onde deveria, porem na banco de dados nao salva nem o nome dela, nem o caminho, segue os codigos abaixo
metodo para checar se a foto existe
e metodo para salvar a foto
segue o html do input file
e no banco de dados o campo ImagemProduto esta varchar
Segue tbm o repositorio do projeto no github pra quem quiser dar uma olhada melhor https://github.com/JaoVizu/carolinajoias
public function update() { $sql = new Sql(); $results = $sql->select("CALL sp_products_update (:CodProduto, :NomeProduto, :ValorProduto, :MargemLucro, :ValorVendaProduto, :QntProduto, :ImagemProduto, :QntParcelas, :ValorParcela, :Descricao, :Categoria)", array( ":CodProduto"=>$this->getCodProduto(), ":NomeProduto"=>$this->getNomeProduto(), ":ValorProduto"=>$this->getValorProduto(), ":MargemLucro"=>$this->getMargemLucro(), ":ValorVendaProduto"=>$this->getValorVendaProduto(), ":QntProduto"=>$this->getQntProduto(), ":ImagemProduto"=>$this->getImagemProduto(), ":QntParcelas"=>$this->getQntParcelas(), ":ValorParcela"=>$this->getValorParcela(), ":Descricao"=>$this->getDescricao(), ":Categoria"=>$this->getCategoria() )); $this->setData($results[0]); }
metodo para checar se a foto existe
//checar a foto public function checkPhotos() { if (file_exists( $_SERVER["DOCUMENT_ROOT"] . DIRECTORY_SEPARATOR . "res" . DIRECTORY_SEPARATOR . "site" . DIRECTORY_SEPARATOR . "img" .DIRECTORY_SEPARATOR . "products" . DIRECTORY_SEPARATOR . $this->getCodProduto() . ".jpg")) { $url = "/res/site/img/products/" . $this->getCodProduto() . ".jpg"; } else{ //RETORNAR FOTO PADRAO $url = "/res/site/img/padrao.jpg"; } return $this->setImagemProduto($url); }
e metodo para salvar a foto
//METODO PARA SALVAR A FOTO public function setPhoto($file) { //detectar o tipo de extensao do arquivo $extension = explode('.', $file["name"]); $extension = end($extension); switch($extension){ case "jpg": case "jpeg": $image = imagecreatefromjpeg($file["tmp_name"]); break; case "gif": $image = imagecreatefromgif($file["tmp_name"]); break; case "png": $image = imagecreatefrompng($file["tmp_name"]); break; } $dist = $_SERVER["DOCUMENT_ROOT"] . DIRECTORY_SEPARATOR . "res" . DIRECTORY_SEPARATOR . "site" . DIRECTORY_SEPARATOR . "img" .DIRECTORY_SEPARATOR . "products" . DIRECTORY_SEPARATOR . $this->getCodProduto() . ".jpg"; imagejpeg($image, $dist); imagedestroy($image); $this->checkPhotos(); }
segue o html do input file
<label for="file">Foto</label> <input type="file" class="form-control" id="file" name="ImagemProduto">
e no banco de dados o campo ImagemProduto esta varchar
Segue tbm o repositorio do projeto no github pra quem quiser dar uma olhada melhor https://github.com/JaoVizu/carolinajoias
Joao Vizu
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)