Я использую этот код для удаления всех файлов в папке, и он отлично работает:
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
закончить так, чтобы каждый файл в каталоге был удален.
Я использую этот код для удаления всех файлов в папке, и он отлично работает:
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
закончить так, чтобы каждый файл в каталоге был удален.