Как удалить файл в PHP

Я хочу удалить файлы в определенном каталоге PHP. Как я могу этого добиться? У меня есть следующий код, но он не удаляет файлы.

$files = array();
$dir = dir('files');
while ($file = $dir->read()) {
    if ($file != '.' && $file != '..') {
        $files[] = $file;
    }
    unlink($file);
} 

в чем твоя ошибка?

Md. Sahadat Hossain 09.09.2018 11:31

использовать unlink ('files /'.$ file);

Md. Sahadat Hossain 09.09.2018 11:34

Возможный дубликат Как удалить файл через PHP?

Cosmic Ossifrage 09.09.2018 13:09
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
3 152
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я думаю, что ваш вопрос не конкретный, этот код должен очистить все файлы в каталоге «файлы».

Но я думаю, что в этом коде есть некоторые ошибки, и вот правильный код:

        $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);

См. Руководство для шарик.

Другие вопросы по теме