[php mkdir通过符号链接警告

问题描述 投票:1回答:2

我想通过使用符号链接(软件链接)来递归地建立目录,但是我警告了我:

警告:mkdir():文件存在于...第21行的php代码路径...

我要创建的目录是/vagrant/resources/page

/var/www路径中,我创建了一个名为resources的符号链接,该符号链接链接到/vagrant/resources目录,而php代码如下所示:

$directory = '/var/www/resources/page';
if(!file_exists($directory)){
      mkdir($directory,0777,true);
}

/ vagrant中所有目录的权限设置为777。谢谢。

php symlink mkdir
2个回答
0
投票

正如@arkascha提到的那样,您的问题不在于符号链接,而在于您要创建的目录的存在。考虑到您在mkdir命令周围情况良好,这有点奇怪。

尝试使用is_dir()而不是file_exists()


0
投票

我用readlink解决了类似的问题。还要检查是否为链接。之后,该路径可以按预期使用。

$path = '/var/www/resources'
if (is_link($path)) {
    $path = readlink($path);
}
© www.soinside.com 2019 - 2024. All rights reserved.