这是我的代码;显然我已经重命名了这些目录。 ;)
$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
任何帮助将不胜感激,我必须在星期四之前完成这个应用程序 - 这个文件上传部分是最后一点!
谢谢!
答案 0 :(得分:3)
PHP无法找到您要在其中创建其他目录的目录。
您需要将$recursive
param设为true:
mkdir($thepath, 0777, true);
答案 1 :(得分:0)
也许你想尝试mkdir($path,$mode,true)
创建缺失的链接?