php - 取消链接后使用退出时如何删除文件夹中所有带有php的文件
问题描述
我正在使用此代码删除文件夹中的所有文件,它工作正常:
if(isset($_POST['deleteall'])) {
$files = glob($dir.'/*'); // get all file names
foreach($files as $file){ // iterate files
if(is_file($file)) {
unlink($file); // delete files
}
}
exit;
}
当我像下面那样把exit
直线放在unlink
后面时,它不再起作用了。
if(isset($_POST['deleteall'])) {
$files = glob($dir.'/*'); // get all file names
foreach($files as $file){ // iterate files
if(is_file($file)) {
unlink($file); // delete files
exit;
}
}
}
有人能解释一下为什么出口必须放在foreach
循环之外吗?因为在 之后unlink
,所有内容都被删除,您可以放置一个exit
,但不幸的是....
解决方案
你的假设
unlink($file); // delete files
// ************
是不正确的。这是一次删除 1 个文件您需要foreach
完成,以便删除目录中的每个文件。
推荐阅读
- python-3.x - 使用python在aws s3中解析gz文件
- reactjs - 使用由 forwardRef 包裹的通用道具导出组件
- git - `git checkout`失败后如何恢复`git lfs post-checkout`挂钩
- java - 如何重构依赖注入的静态函数?
- python - 通过多线程/多处理卡住的杀死方法
- python - from dream.simulation.Queue import Queue No module named 'CoreObject'
- symfony - 无法在命令类中获得服务。Symfony 3.4
- java - 未找到依赖项 'org.springframework.boot:spring-boot-starter-data-jpa:2.5.3'
- javascript - Express Validator 中的可选对象字段但强制对象字段
- biztalk - 为什么双向发送端口不处理响应?