0

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

我知道对此必须有一个简单的解释,感谢您查看我的问题。

4

1 回答 1

0

检查您的服务器上是否打开了Safe_mode 。

mkdir() 将文件夹创建为所有者,它不是脚本所有者,因此脚本无法将文件上传到该文件夹​​中。虽然打开了安全模式,但 chmod() 不起作用。文档: http: //php.net/manual/en/features.safe-mode.php

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

ini_set('display_errors', '1');
于 2011-07-06T04:54:11.257 回答