首页 > 解决方案 > 取消链接后使用退出时如何删除文件夹中所有带有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,但不幸的是....

标签: phpexitunlink

解决方案


你的假设

unlink($file); // delete files
//                ************

是不正确的。这是一次删除 1 个文件您需要foreach完成,以便删除目录中的每个文件。


推荐阅读