如何检查php是否存在符号链接的目录,以及它是否存在

时间:2015-03-23 11:39:49

标签: php linux symlink

我有这个:

move_uploaded_file($File['tmp_name']['File'], $FilePath);

哪里

$FilePath is '/data/www/MIMICm/Common/Upload/PPKInside/CustomImage/6/52'

' PPKInside' 是指向' ../../ MIMI / Common / Data /' 的符号链接'数据' 指向' / mnt / nfsnew / DIDIData / PPKInside / Data' 的symling 到目前为止,我发现' / mnt / nfsnew /' 为空,' / DIDIData / PPKInside / Data' 缺失迪尔斯...
检查目录是否存在以及创建目录的最佳方法是什么?因为目前

is_dir('/data/www/MIMICm/Common/Upload/PPKInside');

返回false,我需要使用 is_link(),但在第一个链接(' PPKInside')之后,我无法检查其子目录是否存在并创建它们如果需要......

1 个答案:

答案 0 :(得分:1)

realpath将扩展给定路径中的所有符号链接,并告诉您最终的绝对文件(目录)是否存在:

  

realpath()在失败时返回FALSE,例如如果文件不存在。

如果它不存在,您可以一次创建完整的目录路径,在设置$recursive标志的情况下使用mkdir添加丢失的子目录。

$FilePath = '/data/www/MIMICm/Common/Upload/PPKInside/CustomImage/6/52';

if (!realpath($FilePath)) {
    mkdir($FilePath, 0777, true);
}

请注意,此特定示例创建了对每个人具有读/写/执行权限的任何目录。您可能希望更改0777以更好地适应您的特定设置。