【发布时间】:2013-08-21 16:51:04
【问题描述】:
我最近刚刚将我的服务器移到了一个新主机上,我现在遇到了我的 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]:无法 将“/tmp/phpDAz5QP”移动到 '/public_html/site/uploads/1908131216_APPLICATION.doc' 在 /long/path/apply.php 在第 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 以获得权限。关于为什么目录不可写的任何想法?
【问题讨论】:
-
您可能需要从控制面板更改文件夹权限。有时通过 FTP 更改文件夹权限无效。你必须去 cPanel 做。
-
你的路径不对,不应该是
/home/youruser/public_html/site/$companyfolder/uploads吗?或者您是否真的在 HD/的根目录下创建了一个名为 public_html 的文件夹 -
你确定你的路径是正确的吗? PHP 采用绝对路径,因此您的“根”不是您的网站根目录,而是您的文件系统根目录。编辑:哦抱歉太晚了
-
还取决于服务器,可能会发生其他事情,等等,这会阻止写入 777 目录。如果您需要 777,请咨询您的虚拟主机(共享主机,suphp 之类的东西可以让 php 以您的用户身份运行,因此不需要全局可写,这是一个安全风险)
-
@Fred-ii- 这是他的实际文件夹,看起来不像是“/public_html”,这看起来很奇怪。
标签: php