php文件上传的问题,修改权限后仍未解决
ex.html提供前台上传控件:
ex.php后台处理程序:
if($_FILES["file"]["error"]>0)
{
echo "Error:".$_FILES["file"]["error"]."
";
}
else
{
if($_FILES["file"]["type"]=="application/pdf")
{
if(file_exists("/home/sss/文档/".$_FILES["file"]["name"]))
{
echo $_FILES["file"]["naem"]."already exists";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],"/home/sss/文档/".$_FILES["file"]["name"]);
echo "Stored in:"."/home/sss/文档/".$_FILES["file"]["name"];
}
}
}
?>
错误提示为
/Warning: move_uploaded_file(/home/php上传文件.pdf): failed to open stream: Permission denied in /var/www/html/php/practice/ex.php on line 25 Warning: move_uploaded_file(): Unable to move '/tmp/php1GtkFY' to '/home/sss/文档/abc.pdf' in /var/www/html/php/practice/ex.php on line 25
修改了文档的权限为777,仍然有问题, 求指教。
------解决方案--------------------修改 /home/sss/文档 的权限为可读写即可
即 chmod('/home/sss/文档', 0666);
这个目录在 web 范围外,操作系统很可能不让匿名用户赋予执行权
------解决方案--------------------你这里面怎么会有三个文件?
1、/home/php上传文件.pdf
2、/tmp/php1GtkFY
3、/home/sss/文档/abc.pdf
这里哪两个是一个文件?
如果上传的是/home/php上传文件.pdf:
$_FILES["file"]["name"]:php上传文件.pdf
$_FILES["file"]["tmp_name"]:php1GtkFY
那么abc.pdf哪里来的?你的代码中并没有rename啊?!!
如果实在Linux上,请用 "./home/sss/文档/",不然会从根目录找起
------解决方案--------------------可能还是apache 没给你相应的权限。改改apache配置文件,给相应目录权限。
------解决方案--------------------我怀疑你的路径写错了
目标文件的路径都去掉,看看还行不行
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn