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

Это мой текущий код, я думал, что понял его, но он просто удаляет все файлы в моем каталоге.

$this->load->helper('file');
$videos = get_filenames('z/course/');
    foreach ($videos as $key => $value) {
        if ($value != 'default_video.mp4') {
            delete_files('z/course/'.$value);
        }
    }

Есть ли обходной путь для этого?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Вы можете использовать strpos() функция проверки default_video.mp4 существует в имени файла.

$this->load->helper('file');
$videos = get_filenames('z/course/');
    foreach ($videos as $key => $value) {
        if (strpos($value, 'default_video.mp4') !== false) {
            delete_files('z/course/'.$value);
        }
    }

Вам должно понравиться:

if (strpos($value, 'default_video.mp4') !== false) {
   //do something 
 }
0 голосов
/ 19 октября 2018

delete_files() метод для удаления всех файлов в данном каталоге.Ссылка: https://www.codeigniter.com/userguide3/helpers/file_helper.html#delete_files

Для удаления отдельного файла (файлов), unlink() - это метод.

$this->load->helper('file');
$videos = get_filenames('z/course/');
    foreach ($videos as $key => $value) {
        if ($value != '' && $value != 'default_video.mp4') {
           // delete_files('z/course/'.$value);
           $file = 'z/course/'.$value;
           if (is_readable($file) && unlink($file)) {
              echo "The file has been deleted";
           } else {
              echo "The file was not found or not readable and could not be deleted";
           }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...