【发布时间】:2015-02-10 14:18:36
【问题描述】:
我最近一直在努力在 PHP 中删除带有 Windows 内容的符号链接文件夹。
我正在做的过程是: 1.从位置A到位置B的符号链接文件/文件夹(一切都好) 2.从位置B取消链接所有文件/文件夹
现在事情变得棘手了。 我的代码:
echo("\n unlinking: ".$pre.$folder.'/'.$elem);
if(file_exists($pre.$folder.'/'.$elem)){
if(isWindows()){
if(is_dir($pre.$folder.'/'.$elem)){
rmdir($pre.$folder.'/'.$elem);
} else {
unlink($pre.$folder.'/'.$elem);
}
} else {
unlink($pre.$folder.'/'.$elem);
}
} else {
echo("\n -> Not there. \n");
}
如果目标是文件或空文件夹,则一切正常。但是,当符号链接的文件夹包含内容时,我会收到一条警告,提示我无法删除非空文件夹并且该文件夹不会被删除。
Warning: rmdir(dirname): Directory not empty
这意味着在使用 rmdir(推荐操作)时,windows 上带有内容的符号链接文件夹是不可删除的。
我可以在 Windows 资源管理器中手动删除该文件夹,并且可以正常工作(仅删除符号链接)。
不胜感激, 西维尔。
【问题讨论】: