您的位置:首页 > 编程语言 > PHP开发

PHP中调用move_uploaded_file函数提示failed to open stream和 Unable to move

2017-05-24 15:19 886 查看




本文转载自这里http://www.cnblogs.com/cj695/p/4034489.html

因为我今天也遇到了同样的问题,按照这个方法解决了,特意转过来做一下自己的笔记,感谢原创。

在做一个PHP文件上传系统的时候,使用move_uploaded_file进行文件上传,提示下面两个warning,不能成功上传文件
Warning: move_uploaded_file(upload/songshu_rgb.gif) [function.move-uploaded-file]:
failed to open stream: No such file or directory in D:\www\2737\upload_file.phpon line 25

Warning: move_uploaded_file() [function.move-uploaded-file]:
Unable to move 'C:\WINDOWS\Temp\php80.tmp' to 'upload/songshu_rgb.gif' in D:\www\2737\upload_file.phpon line 25

Stored in: upload/songshu_rgb.gif
先前认为是目录权限不够的问题,查找资料后,其实是原因是文件找不到,如何解决呢?查找资料发现,应该使用绝对路径代替相对路径,原来的代码如下
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);

echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
修改后:
move_uploaded_file($_FILES["file"]["tmp_name"],
"D:/www/2737/upload/" . $_FILES["file"]["name"]);

echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
注意加亮部分。
还有一种修改权限的方法,把权限修改成777即可,比较麻烦,大家可以找下面这面文章看。
点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐