PHP:删除文件夹(包括其内容)的最简单方法
如果文件夹包含任何文件,rmdir()
函数将失败。我可以用这样的方法循环遍历目录中的所有文件:
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
unlink($dir.DIRECTORY_SEPARATOR.$item);
}
rmdir($dir);
有什么方法可以一次性删除所有文件吗?
The rmdir()
function fails if the folder contains any files. I can loop through all of the the files in the directory with something like this:
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
unlink($dir.DIRECTORY_SEPARATOR.$item);
}
rmdir($dir);
Is there any way to just delete it all at once?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
rrmdir()
-- 递归删除目录:rrmdir()
-- recursively delete directories:嗯,总有
可用的地方。
Well, there's always
where available.
根据此来源;
如果您想清理或删除目录并且您在 Windows 上,可以节省一些时间。
使用此:
您可以使用其他 DEL 语法,或任何其他 shell 实用程序。
您可能必须允许该服务与桌面交互,因为这是我当前的设置,我不会更改它来测试这一点。
另外,您可以在此处找到替代方法。
As per this source;
Save some time, if you want to clean a directory or delete it and you're on windows.
Use This:
You can use other DEL syntax, or any other shell util.
You may have to allow the service to interact with the desktop, as that's my current setting and I'm not changing it to test this.
Else you could find an alternative method here.
尝试这个 :
Try this :
此函数删除目录及其所有子目录和文件:
This fuction delete the directory and all subdirectories and files:
lprent 的 php 注释中提供了一项安全且良好的功能
它可以防止意外删除位于当前目录中的符号链接目录的内容
One safe and good function located in php comments by lprent
It prevents accidentally deleting contents of symbolic links directories located in current directory