提问者:小点点

php mkdir通过符号链接警告


我想使用符号链接(软链接)递归创建目录,但遇到警告:

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

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

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

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

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


共2个答案

匿名用户

正如@arkascha提到的,你的问题不是符号链接,而是你试图创建的目录的存在。考虑到你的mkdir命令有一个公平的条件,这有点奇怪。

请尝试使用is\u dir()而不是file\u exists()

匿名用户

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

$path = '/var/www/resources'
if (is_link($path)) {
    $path = readlink($path);
}