Я хочу удалить файлы в определенном каталоге PHP. Как я могу этого добиться? У меня есть следующий код, но он не удаляет файлы.
$files = array();
$dir = dir('files');
while ($file = $dir->read()) {
if ($file != '.' && $file != '..') {
$files[] = $file;
}
unlink($file);
}
использовать unlink ('files /'.$ file);
Возможный дубликат Как удалить файл через PHP?






Я думаю, что ваш вопрос не конкретный, этот код должен очистить все файлы в каталоге «файлы».
Но я думаю, что в этом коде есть некоторые ошибки, и вот правильный код:
$files= array();
$dir = dir('files');
while (($file = $dir->read()) !== false) { // You must supply a condition to avoid infinite looping
if ($file != '.' && $file != '..') {
$files[] = $file; // In this array you push the valid files in the provided directory, which are not (. , ..)
}
unlink('files/'.$file); // This must remove the file in the queue
}
И, наконец, убедитесь, что вы указали правильный путь к dir ().
Вы можете получить все содержимое каталога с помощью glob и проверить, является ли значение файлом с is_file(), прежде чем отключать его.
$files = glob('files/*'); // get directory contents
foreach ($files as $file) { // iterate files
// Check if file
if (is_file($file)) {
unlink($file); // delete file
}
}
Если вы хотите удалить файлы, соответствующие шаблону, например .png или .jpg, вы должны использовать
$files = glob('/tmp/*.{png,jpg}', GLOB_BRACE);
См. Руководство для шарик.
в чем твоя ошибка?