使用php上传图片中的错误

时间:2014-04-29 14:31:14

标签: php mysql image-uploading

代码是将图像存储到数据库中 数据库结构是

enter image description here

if(!isset($_POST['upload']))
  {
echo '<form method="post" enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'">';
echo '<input type="file" name="image"/>';
echo '<input type="submit" name="upload" value="upload"/>';
echo '</form>';
   }
 else
   {
$upload='images/';
$name=$_FILES['image']['name'];
$tempname=$_FILES['image']['tmp_name'];
$filesize=$_FILES['image']['size'];
$filetype=$_FILES['image']['type'];
$path=$upload.$name;
$result=move_uploaded_file($tempname, $path);
if(!$result)
{
    echo "error";
}
$sql="INSERT INTO imaget(name,image) VALUES('$name','$path')";
if(($conn->query($sql))==true)
{
    $sql="SELECT * FROM imaget";
    if(($img=$conn->query($sql))==true)
    {
        echo "success";
    }
}
else
{
    echo "error in upload into database";
}
    }

它会显示这样的警告

Warning: move_uploaded_file(images/20140302_210804.jpg): failed to open stream: No such file or directory in C:\xampp\htdocs\new\image.php on line 18

Warning: move_uploaded_file(): Unable to move 'C:\xampp\tmp\php2923.tmp' to 'images/20140302_210804.jpg' in C:\xampp\htdocs\new\image.php on line 18

errorsuccess

为什么它显示警告以及如何解决任何人帮助我的警告?

1 个答案:

答案 0 :(得分:0)

为什么会显示警告?

因为它无法移动文件'C:\ xampp \ tmp \ php2923.tmp'移动到'images / 20140302_210804.jpg

上传始终将您的文件放在临时位置,然后您有责任将其移至正确的位置。

也许您应该在$upload中提供绝对路径。 如果仍然存在错误,您可以检查文件系统。 如果仍然存在错误,请使用php文件函数查看php是否可以读取和写入目录。