3

我最近刚刚将我的服务器移到了一个新主机上,现在我的 PHP 上传表单出现了问题。无法上传文件。我得到的错误是:

警告:move_uploaded_file(/public_html/site/abc/uploads/APLICATION.doc)[function.move-uploaded-file]:无法打开流:第 389 行的 /long/path/apply.php 中没有此类文件或目录

警告:move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpDAz5QP' to '/public_html/site/uploads/1908131216_APPLICATION.doc' in /long/path/apply.php on line 389 问题:无法将文件移动到不可写的目标目录 /tmp/phpDAz5QP - /public_html/site/abc/uploads/1908131216__APPLICATION.doc

我有这个小测试来查看目录是否可写,但不是。

$upload_dir = "/public_html/site/$companyfolder/uploads";
if(!is_writable($upload_dir)) {
    $writable = 'not writable';
} else {
    $writable = 'writable';
}
echo $writable;

我将上传文件夹设置为 777 以获得权​​限。关于为什么目录不可写的任何想法?

4

1 回答 1

3

从您上面的代码中,您的上传路径似乎不正确:

$upload_dir = "/public_html/site/$companyfolder/uploads";

应该是这样的:

$upload_dir = "/home/youruser/public_html/site/{$companyfolder}/uploads";

目录需要是绝对路径或相对路径。当它是相对的时,它需要相对于被调用的 PHP 所在的位置。

因此,您可以使用它作为./site/{$companyfolder}/uploads示例,假设您使用的 php 代码位于/home/youruser/public_html.

于 2013-08-19T19:41:25.043 回答