PHP mkdir()无法正常工作

时间:2012-09-25 09:16:40

标签: php path directory mkdir

这是我的代码;显然我已经重命名了这些目录。 ;)

$thepath = "/var/www/vhosts/sub.domain.co.uk/web/apps/storage/".$userclient."/evidence/".$scid."/".$doctype."/";
$testdir = is_dir($thepath); 
if ($testdir == false) {
    mkdir($thepath, 0777);
}

在这种情况下,以下变量适用;

$userclient = '000';
$scid       = '9263';
$doctype    = 'Insurance Policy';

所以,路径应该是;

/var/www/vhosts/sub.domain.co.uk/web/apps/storage/000/evidence/9263/Insurance Policy/

我知道这很有效,在我的代码中的其他任何地方,我有其他应用程序使用几乎相同的设置。但是上面的那个,似乎正在绊倒/证据/ - 它将权限设置为755,但是如果我将证据设置为777(八进制),则每次运行代码时都会创建目录。

我使用;

收到以下错误消息
if (!@mkdir($thepath)) {
    $error = error_get_last();
    echo $error['message'];
}
mkdir(): No such file or directory

任何帮助将不胜感激,我必须在星期四之前完成这个应用程序 - 这个文件上传部分是最后一点!

谢谢!

2 个答案:

答案 0 :(得分:3)

PHP无法找到您要在其中创建其他目录的目录。

您需要将$recursive param设为true:

mkdir($thepath, 0777, true);

答案 1 :(得分:0)

也许你想尝试mkdir($path,$mode,true)创建缺失的链接?