简单的文件上传错误....为什么不工作?

时间:2013-10-16 12:45:45

标签: php html

我有一个简单的文件上传功能,但我无法让它工作! 当我试图使用它时,我一直得到“错误”!

我的html文件:

<form enctype='multipart/form-data' action='upload.php'>
<input type='file' name='myfile' />
<input type='submit' value='Upload image' />
</form>

和我的upload.php文件:

$target = "upload_folder/"; 
$target = $target . basename( $_FILES['myfile']['name']) ; 
if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target)) 
{
echo "The file was uploaded";
} 
else {
echo "Error";
}

..这是我第一次使用它,所以我做了一些愚蠢的事情。 有什么建议吗?

4 个答案:

答案 0 :(得分:4)

您错过了表单中的method属性。尝试添加它:

<form enctype='multipart/form-data' action='upload.php' method="post">
    <input type='file' name='myfile' />
    <input type='submit' value='Upload image' />
</form>

答案 1 :(得分:0)

通过POST&amp;另一个是PUT请求。您尝试使用的方法是POST。在表单标记中添加method="POST"即可。 表单中的默认值是使用GET

<form enctype='multipart/form-data' method="POST" action='upload.php'>
    <input type='file' name='myfile' />
    <input type='submit' value='Upload image' />
</form>

答案 2 :(得分:0)

a)文件大小太大,你应该从php.ini

更改它

b)有时某些服务器需要一个比“upload_folder /".

更精确的move_uploaded_file路径

假设你的php文件位于root文件中,你希望文件转到root / upload_folder。然后这样做:

$target = realpath(dirname(__FILE__))."/upload_folder"; 
$target = $target . "/" . basename( $_FILES['myfile']['name']) ; 

答案 3 :(得分:0)

$ target =“upload_folder /”;

您需要目标文件夹或目录的写入权限。