您好我试图通过表单将用户在本地计算机上选择的文件上传到我的服务器但是我收到以下php错误:
警告:move_uploaded_file(bqformtest / uploaded_files / test.doc) [function.move-uploaded-file]:无法打开流:没有这样的文件或 目录在/home/drawapl1/public_html/bqformtest/index.php上 40
警告:move_uploaded_file()[function.move-uploaded-file]:无法执行 将'/ tmp / phphhS4QD'移到'bqformtest / uploaded_files / test.doc'中 第40行/home/drawapl1/public_html/bqformtest/index.php
这是我的PHP代码:
$target = "bqformtest/uploaded_files/";
$target = $target . basename( $_FILES['upload']['name']) ;
if(move_uploaded_file($_FILES['upload']['tmp_name'], $target))
{
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
}
else {
echo "Sorry, there was a problem uploading your file.";
}
这是我的表单代码:
<form method='post' action='' accept-charset='UTF-8' enctype='multipart/form-data'>
<input type="file" name="upload" size="50" />
<input id="submitButton" type='submit' name='Submit' value='' />
</form>
uploaded_files文件夹权限设置为755.提前致谢。
答案 0 :(得分:1)
提供文件的完整路径或正确的相对路径
$target = "{fullPath}/fileName";
文件路径错误
答案 1 :(得分:0)
根据错误消息我可以告诉您,您的脚本位于ROOT/bqformtest
。然后,您将$target
设置为相对路径:bqformtest/uploaded_files
。这意味着该脚本将尝试将上传的文件从临时目录移至:ROOT/bqformtest
+ bqformtest/uploaded_files
,结果为:ROOT/bqformtest/bqformtest/uploaded_files
。将$target
设置为:
$target = "uploaded_files/";
或
$target = "/home/drawapl1/public_html/bqformtest/uploaded_files/";
它应该有用。
顺便说一句,您使用上传文件的名称而不对其进行清理,这是一个主要的安全风险。不要相信用户发送的任何内容。
答案 2 :(得分:0)
同时检查用户的磁盘配额。我遇到了这个问题,经过几个小时的测试后发现它很简单。超出了用户的配额