我想使用符号链接(软链接)递归创建目录,但遇到警告:
警告: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。谢谢
正如@arkascha提到的,你的问题不是符号链接,而是你试图创建的目录的存在。考虑到你的mkdir命令有一个公平的条件,这有点奇怪。
请尝试使用is\u dir()
而不是file\u exists()
我用readlink解决了一个类似的问题。之前还要检查它是否是链接。之后,路径可以按预期使用。
$path = '/var/www/resources'
if (is_link($path)) {
$path = readlink($path);
}