为什么PHP move_uploaded_file()无法打开流?

时间:2014-04-27 04:36:04

标签: php file-upload

我已经采取了最基本的行动并仍然在努力:

$path = '/home/*NAME*/public_html/ih/upload/';
$fileName = $_FILES["file"]["tmp_name"];

echo $path, "<br />"; echo $fileName;

move_uploaded_file($fileName, $path);

路径和文件名都会在移动失败之前打印预期的内容。该路径与我在想要将文件移动到的目录中回显getcwd()时获得的路径相同。我已经将上传文件夹和所有子目录修改为777是安全的。

我的错误消息是:

Warning: move_uploaded_file(/home/*NAME*/public_html/ih/upload/) 
[function.move-uploaded-file]: failed to open stream: Is a directory in /home/*NAME*/public_html/ih/upload.php on line 11

Warning: move_uploaded_file() [function.move-uploaded-file]: 
Unable to move '/tmp/phph4oYFN' to '/home/*NAME*/public_html/ih/upload/' in /home/*NAME*/public_html/ih/upload.php on line 11

有谁知道我能做些什么来解决这个问题?是权限错误吗?谢谢你,如果是的话。

1 个答案:

答案 0 :(得分:3)

线索在这里:

[function.move-uploaded-file]: failed to open stream: Is a directory...

您已将目录路径作为参数传递给move_uploaded_file()。你需要传递一个文件名。

也许你想要

move_uploaded_file($fileName, $path.$fileName);

但这不会很好地处理重复的名字。