PHP move_uploaded_file权限被拒绝 [英] PHP move_uploaded_file permission denied
问题描述
我一直试图将图像从表单移到我的网站上,该文件夹由godaddy托管.使用move_uploaded_file()方法时,出现权限被拒绝错误.在这个问题上,我已经回答了很多问题,但是没有一个问题能够解决我的问题.另外,我已将权限更改为777.
I have been attempting to move images from a form to an upload folder on my website which is hosted by godaddy. When using the move_uploaded_file() method, I get a permission denied error. I have gone through quite a few questions on this subject, but none of them have yet solved my problem. Also, I have changed my permissions to 777.
这是我遇到的错误:
警告:move_uploaded_file()[function.move-uploaded-file]:无法执行 将'D:\ Temp \ php \ php42C0.tmp'移至 的'upload/vZvD6WI4vkapbCLovWtrSIG3xPLD0E.jpeg' D:\ Hosting \ 11111 \ html \ dir \ upload_image \ formsubmit.php在第80行
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'D:\Temp\php\php42C0.tmp' to 'upload/vZvD6WI4vkapbCLovWtrSIG3xPLD0E.jpeg' in D:\Hosting\11111\html\dir\upload_image\formsubmit.php on line 80
PHP代码:
$name = $_POST['name'];
$email = $_POST['email'];
if(isEmpty($name) || isEmpty($email)) {
print '<b>Please go back to the previous page and fill out your name.</b>';
}
else {
$file_name = "file1";
if ((($_FILES[$file_name]["type"] == "image/gif")
|| ($_FILES[$file_name]["type"] == "image/jpeg")
|| ($_FILES[$file_name]["type"] == "image/jpg")
|| ($_FILES[$file_name]["type"] == "image/bmp")
|| ($_FILES[$file_name]["type"] == "image/tiff")
|| ($_FILES[$file_name]["type"] == "image/png")
|| ($_FILES[$file_name]["type"] == "image/pjpeg"))
&& ( ($_FILES[$file_name]["size"] < 10000000) && $_FILES[$file_name]["size"] > 0) )
{
if ($_FILES[$file_name]["error"] > 0)
{
print "There was an error in uploading your images: " . $_FILES[$file_name]["error"] . "<br />";
}
else
{
if (file_exists("upload/" . $rand_img_name.".jpeg") )
{
print "Please try uploading your image again<br />";
}
else
{
move_uploaded_file($_FILES[$file_name]["tmp_name"],
"upload" ."/". $rand_img_name.".jpeg");
$files_are_valid[($i-1)] = true;
}
}
}
else
{
print 'Image must be a valid image under 10 MB (Make sure you submitted an image)<br />';
$files_are_valid[($i-1)] = false;
}
}
if($files_are_valid[0] == true) {
$all_valid = true;
}
else {
$all_valid = false;
}
推荐答案
这是Windows服务器(路径中的斜杠将其放弃).因此,您需要通过GoDaddy权限面板设置权限.您需要设置上载目录的读/写权限.通过FTP设置777不会在Windows服务器上删除它.
This is a Windows server (the slashes in the paths give it away). So you need to set permissions through the GoDaddy permissions panel. You need to set read/write permissions for uploads directory. Setting 777 by FTP doesn't cut it on Windows servers.
这篇关于PHP move_uploaded_file权限被拒绝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!