我有这个:
move_uploaded_file($File['tmp_name']['File'], $FilePath);
哪里
$FilePath is '/data/www/MIMICm/Common/Upload/PPKInside/CustomImage/6/52'
其中 'PPKInside' 是指向 '../../MIMI/Common/Data/' 的符号链接,其中 'Data' 是指向 '/mnt/nfsnew/DIDIData/PPKInside/Data' 的符号链接
到目前为止,我发现 '/mnt/nfsnew/' 为空,并且 '/DIDIData/PPKInside/Data' 缺少目录...
检查目录是否存在并在不存在时创建它们的最佳方法是什么?因为目前
is_dir('/data/www/MIMICm/Common/Upload/PPKInside');
返回 false,我需要使用 is_link() 但在第一个链接('PPKInside')之后,我无法检查其子目录是否存在并在需要时创建它们...
realpath 将展开给定路径中的任何符号链接并告诉您最终的绝对文件(目录)是否存在:
realpath() 失败时返回 FALSE,例如如果文件不存在。
如果不存在,您可以通过使用 mkdir 并设置
$recursive
标志来一次性创建完整的目录路径,并一路添加缺少的子目录。
$FilePath = '/data/www/MIMICm/Common/Upload/PPKInside/CustomImage/6/52';
if (!realpath($FilePath)) {
mkdir($FilePath, 0777, true);
}
请注意,此特定示例为“每个人”创建具有读/写/执行权限的任何目录。您可能想要更改 0777 以更好地适合您的特定设置。
try ... finally
来创建它们