难以在PHP中创建用于上载的新目录

时间:2011-07-06 00:42:08

标签: php directory hosting chmod mkdir

我正在使用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);
?>

我知道必须有一个简单的解释,谢谢你复习我的问题。

1 个答案:

答案 0 :(得分:0)

检查服务器上是否已打开 Safe_mode

mkdir()创建文件夹作为所有者,它不是脚本所有者,因此脚本无法将文件上载到该文件夹​​中。当safe_mode打开时chmod()不起作用。 Doc:http://php.net/manual/en/features.safe-mode.php

尝试在php脚本的开头添加此行以检查警告:

ini_set('display_errors', '1');