我最近刚刚将我的服务器移到新主机上,现在我的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'中 第389行/long/path/apply.php问题:无法将文件移动到 目标目录不可写/ 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;
我将uploads文件夹设置为777以获取权限。为什么目录不可写的任何想法?
答案 0 :(得分:2)
从上面的代码中,您的上传路径似乎不正确:
$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
。