как удалить все файлы с php в папке, когда вы используете выход после отмены ссылки - PullRequest
0 голосов
/ 29 декабря 2018

Я использую этот код для удаления всех файлов в папке, и он отлично работает:

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, но, к сожалению ....

1 Ответ

0 голосов
/ 29 декабря 2018

Ваше предположение

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

неверно.Это удаляет 1 файл за раз. Вам нужно дать foreach завершиться, чтобы удалить все файлы в каталоге.

...