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

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

0 голосов
/ 09 сентября 2018

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

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

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Вы можете получить все содержимое каталога с помощью 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);

См. Руководство для glob .

0 голосов
/ 09 сентября 2018

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

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

        $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 ().

...