无法使用PHP将图像上传到MySql数据库

时间:2016-07-30 23:32:05

标签: php mysql

我正在尝试使用PHP将图片上传到我的MySql数据库,但是代码到达了else语句,好像图像有一个NULL值,但我从我的目录中选择了一个文件。

我的HTML表单:

<form action="cadastrar.php" method="post">
  Nome: <input type="text" name="nome" value=""><br>
  Descrição: <input type="text" name="descricao" value=""><br>
  Cor: <input type="text" name="cor" value=""><br>
  Imagem: <input type="file" name="imagem"/><br>
  <input type="submit" name="botao" value="CADASTRAR">
</form>

我的PHP代码:

<?php
    if(isset($_POST['botao']) && isset($_FILES['imagem'])){
      if(getimagesize($_FILES['imagem']['tmp_name']) == FALSE) //SEEMS LIKE THE CODE NEVER REACH THIS CONDITION..
      {
          echo "Please select an image.";
      }
      else
      {
          $imagem = addslashes($_FILES['imagem']['tmp_name']);
          $imagem = file_get_contents($imagem);
          $imagem = base64_encode($imagem);
          $nome = $_POST["nome"];
          $descricao = $_POST["descricao"];
          $cor = $_POST["cor"];

          $dP = new DaoProduto;
          $p = new Pessoa;

          $p->setProdNome($nome);
          $p->setProdDescricao($descricao);
          $p->setProdCor($cor);
          $p->setProdImagem($imagem);

          $dP->inserirProduto($p);
      }
    }else{
      echo "The code reach this ELSE..."; //<-- CODE REACHES HERE!!
    }
  ?>

1 个答案:

答案 0 :(得分:1)

您必须以以下格式添加加密:

    <form action="cadastrar.php"  method="post" enctype="multipart/form-data" >