Move_uploaded_file()函数显示错误

时间:2017-04-17 08:39:27

标签: php mysql sql

我正在尝试动态上传图片。 HTML代码是:

<form method="post" action="" name="form1" id="form1" enctype="multipart/form-data">
    <label for "file">Select Picture</label><br>
    <input type="file" name="file" id="file"><br>
    <input type="hidden" value="<?php echo $_POST['pic'];?>" name="pic">
    <input type="submit" value="Upload" name="upload" id="upload"><br>
</form>
  

在我编写以下代码后,它显示错误:&#34; move_uploaded_file()[function.move-uploaded-file]:copy()函数的第二个参数不能是目录&#34;并且&#34;无法移动&#39; C:\ xampp \ tmp \ phpB67C.tmp&#39;到&#39;图像/&#39; &#34 ;.这个的PHP代码是:

if(isset($_POST['upload'])){
    $pic=$_POST['pic'];
    move_uploaded_file($_FILES["file"]["tmp_name"], "images/".$pic); //."jpg"); 
}

请告诉我如何删除错误并能够添加和查看图片。

2 个答案:

答案 0 :(得分:1)

  

像这样改变

您可以使用$_FILES["file"]["name"]变量获取文件名。因此,如果上传任何文件,您必须使用此方法获取文件名,而不是使用$_POST

if(isset($_POST['upload']))
{
    $pic=$_FILES["file"]["name"];
    move_uploaded_file($_FILES["file"]["tmp_name"], "images/".$pic); //."jpg"); 
}

答案 1 :(得分:0)

我已对您的表单进行了一些更改

<form method="post" action="" name="form1" id="form1" enctype="multipart/form-data">
<label for "file">Select Picture</label><br>
<input type="file" name="file" id="file"><br>
<input type="hidden" value="<?php if(isset($name)){ echo $name; } ?>" name="pic">
<input type="submit" value="Upload" name="upload" id="upload"><br>

和PHP代码在这里, 将MyUploadFolder名称更改为您的文件夹路径。

if(isset($_FILES['file']['name'])){
    $name= $_FILES['file']['name'];
    $tmp_name = $_FILES['file']['tmp_name'];

if(move_uploaded_file($tmp_name,"MyUploadFolder/".$name))
    {
    echo 'Uploaded';
    }
else{
    echo 'Please Choose a File';
    }
}