Как автоматически переместить определенное количество файлов из одной папки в другую с помощью PHP? (для использования в плагине WordPress) - PullRequest
0 голосов
/ 30 марта 2019

Используя плагин WordPress, у меня есть карусель изображений, которая отображает все файлы в указанной папке.

Я хочу отображать только последние 24 изображения из этой папки. Один способ, которым я думал, что мог бы сделать это без редактирования исходного плагина - это переместить все файлы предыдущего дня в новую папку, когда появится первое фото следующего дня. Имена файлов содержат метку времени, поэтому я не могу указать реальные имена файлов, только тип файла.

К сожалению, я совершенно новичок в PHP и сценариях на стороне сервера и буду признателен за любые советы по решению этой проблемы.

Ответы [ 2 ]

1 голос
/ 30 марта 2019

Полагаю, вам не нужно перемещать файлы, просто прочитайте их и отсортируйте по дате.

вот концептуальное, как, непроверенный.


$files =[];
if ($handle = opendir('.')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
           $files[filemtime($file)] = $file;
        }
    }
    closedir($handle);

    // sort in reverse order
    krsort($files);

    for($i =0; $i < 24; $i++) {
      $file = $files[$i]
      echo "<img src='".$file."' />";
    }
}

удачи

0 голосов
/ 30 марта 2019

Хорошо, вы хотите отобразить только последние 24 изображения из этой папки.

Вы можете получить название последних 24 изображений по времени их модификации.

    $filelist = glob("/path/to/your_dir/*.{jpg,JPG,PNG,png,jpeg,JPEG}", GLOB_BRACE);

В php запустите цикл foreach для всех файлов в этом каталоге,

    $i = 0;
    foreach($filelist as $key => $file){ 
       $temp_arr[$i]['mtime'] = filemtime($file); 
       $temp[$i]['filename'] = $file;
       $i++; 
    }

Затем вы можете отсортировать $ temp_arr для получения 24 последних изображений на основе mtime.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...