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

 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

Joao Vizu

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar