我正在使用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);
?>
我知道必须有一个简单的解释,谢谢你复习我的问题。
答案 0 :(得分:0)
检查服务器上是否已打开 Safe_mode 。
mkdir()创建文件夹作为所有者,它不是脚本所有者,因此脚本无法将文件上载到该文件夹中。当safe_mode打开时chmod()不起作用。 Doc:http://php.net/manual/en/features.safe-mode.php
尝试在php脚本的开头添加此行以检查警告:
ini_set('display_errors', '1');