php mkdir()的localhost权限?

wan*_*est 1 php localhost mkdir

为了准备稍后转移到生产服务器,我正在使用此代码(php)创建一个用于存储用户文件的新目录:

function createNewUserFolder($newUserName)
{
    $siteRoot = "http://" . $_SERVER['HTTP_HOST'] . "/myWebsite/";
    $newUserSubfolder = $siteRoot . $newUserName;

    if (!mkdir($newUserSubfolder, 0755))
    {
        echo "PROBLEM...";
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了0644权限无济于事 - 我执行时只会遇到'问题...'.我检查包含完整路径的字符串,它是正确的 - "http:// localhost/myWebsite/myNewUserSubfolder".

所以我怀疑上面字符串中的"http:// localhost/myWebsite /"部分是问题所在.但我不明白为什么 - 毕竟,这是我的网络服务器上运行的PHP代码,为​​什么我的PHP代码不能在我的网络服务器上创建一个文件夹?

Jas*_*hal 5

对于Windows环境,您可能想要做这样的事情

$siteRoot = "c:\\path\\to\\siteroot\\myWebsite/";
$newUserSubfolder = $siteRoot . $newUserName;

if (!mkdir($newUserSubfolder, 0755))
{
    echo "PROBLEM...";
}
Run Code Online (Sandbox Code Playgroud)

试试吧

或者如果您的服务器上有FTP支持,请尝试使用FTP阅读更多信息http://php.net/manual/en/book.ftp.php