【发布时间】:2011-09-29 05:53:26
【问题描述】:
我正在使用 PHP 创建一个目录。创建目录后,它的 chmod 为 777。然后我有一个简单的脚本供用户将文件上传到目录。我遇到的问题是当我运行脚本时目录不会完成文件传输。但是...如果我通过 FTP 手动进入并创建一个新目录并将 777 分配给生成的文件夹,那么脚本工作正常并且文件被传输。我的虚拟主机是否有一些设置限制了这种能力?还是在 PHP 脚本中?这是我创建新目录的代码:
<?php
$thisdir = getcwd();
$new_dir = 'test';
$full_dir = $thisdir . "/" . $new_dir;
function chk_dir($full_dir) {
if(is_dir($full_dir)) {
echo 'the directory already exists';
} else {
return mkdir($full_dir);
}
}
chk_dir($full_dir);
chmod($full_dir, 0777);
?>
我知道对此必须有一个简单的解释,感谢您查看我的问题。
【问题讨论】:
-
理论上,如果目录是由 PHP 创建的,那么它将有权写入该目录,因为它拥有所有权。根本不需要设置权限。
-
@Tak 我尝试退出 chmod 调用并将权限设置为“rwxr-xr-x”。此外,文件没有完成上传。
-
我知道这与我正在使用的新主机有关。我已经在不同的托管平台上测试了相同的脚本,它工作得很好。我应该问他们什么问题?
标签: php directory hosting chmod mkdir