我最近一直在努力在 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 资源管理器中手动删除该文件夹并且可以正常工作(仅删除符号链接)。
非常感谢帮助,Sivael。