使用php上传的图像并不完全有效

时间:2017-12-01 18:39:39

标签: php mysql phpmyadmin

问题在于:

我有一个代码将图片上传到phpmyadmin,代码...由于某种原因没有完全正常工作,它没有完全上传图像,图像最终只有一个非常小的尺寸,它赢了也不要出现。如果我将它们直接上传到数据库,可以显示它们,但使用下面的代码上传的那些有问题。

这是我的代码:

按钮代码:

   <div id="content">
<form method="POST" action =""/>
    <table>
     <tr>
      <td>
        Upload a picture
      </td>
      <td>
        <input type="file" name="image"/>
      </td>
  </tr>
 </table>
 <input type="submit" name="submit" value="Registrarme"/> <input type="reset"/> 

</form>
<?php
if(isset($_POST['submit'])){
  require("iniciar.php");
    }
 ?>
</div>

上传代码:(iniciar.php)

<?php
$image = $_POST['image'];
$reqlen = strlen($image);
if($reqlen > 0){
$conn = mysqli_connect('localhost','root','','image');
$sql = "INSERT INTO `images` VALUES ('', '$image', '')";
mysqli_query($conn, $sql);
echo 'Upload successful';
}else{
echo 'Please insert an image';  
}
?>

这是表格的结构: The table I have

1 个答案:

答案 0 :(得分:0)

您正在分配类似输入数据而不是

            $_FILES["image"]["name"];

         //remove thisline
    $image=$_POST['evidence'];
// you have to use it like this

     $image=   $_FILES["image"]["name"];

你必须像这样分配图像

$target_file =  $target_dir . '/' . basename($_FILES["image"]["name"]);
$image=$target_file;

现在证据保持图像的地址所以dir。图像现在也是证据。现在它将被上传到数据库,你没有传递数据。这是错误的。任何问题评论。如果它解决了你的问题,请将其标记为已解决:)

供参考,这是用于上传个人资料图片的php脚本,

  <?php
if(isset($_POST["submit"])) 
    {
        $target_dir = "profilepic/";
        $targetfile=$target_dir.basename($_FILES["fileToUpload"]["name"]);
        $uploadOk = 1;
        $imageFileType = pathinfo($targetfile,PATHINFO_EXTENSION);

        if($imageFileType != "jpg" &&$imageFileType != "JPG" && $imageFileType != "png" && $imageFileType != "PNG" && $imageFileType != "jpeg" && $imageFileType != "JPEG" && $imageFileType != "gif" && $imageFileType != "GIF" ) 
        {
        echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
        $uploadOk = 0;

        }
        if ($uploadOk == 0) 
        {
        echo "<small>Sorry, your file was not uploaded.</small>";
        }
         else 
         {
         if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetfile)) 
         {
           echo "<small>upload successful</small>";
           $imgdir="UPDATE user SET profilepic='$targetfile' WHERE username='$uname';";
           $con->query($imgdir);
           header("location:profile.php");

         }
         else
          echo "not uploaded";
         } 
    }
?>

根据您的数据库进行更改操作