Я хотел бы отобразить последнее измененное изображение в каталоге, который заканчивается определенным образом.
У меня есть работа, чтобы отобразить последний файл в каталоге, который я только не знаю, как перейти к фильтрации результата, чтобы отображать только последние в каталоге, заканчивающемся на «wide-block.jpg»,
<?php $base_url = 'images/folio/web-portfolio'; $newest_mtime = 0; $show_file = 'images/folio/no-image.jpg'; if ($handle = opendir($base_url)) { while (false !== ($latestFile = readdir($handle))) { if (($latestFile != '.') && ($latestFile != '..') && ($latestFile != '.htaccess')) { $mtime = filemtime("$base_url/$latestFile"); if ($mtime > $newest_mtime) { $newest_mtime = $mtime; $show_file = "$base_url/$latestFile"; } } } } echo '<img src="' .$show_file. '" alt="Latest from the web">'; ?>
Я получил этот код откуда-то еще и понимаю, что ему не понадобится вторая инструкция if! = Типы файлов, перечисленные после моей проверки отображения последнего файла, заканчивающегося на «wide-block.jpg».
Для этого вам необходимо разобраться, просто добавьте еще одно правило для фильтрации в изображениях, заканчивающихся в нужном поле.
В основном просто используйте функцию strpos (), чтобы определить, находится ли значение, которое вы ищете, в имени файла.
Кроме того, он завершает код внутри функции, позволяя установить нужное место в папке и желаемую строку, в которую должен завершиться файл.
<?php function getLatestImage($folderName, $imageEnding) { $newest_mtime = 0; $base_url = 'images/folio/'.$folderName; $file_ending = $imageEnding; $show_file = 'images/folio/no-image.jpg'; if ($handle = opendir($base_url)) { while (false !== ($latestFile = readdir($handle))) { if (($latestFile != '.') && ($latestFile != '..') && ($latestFile != '.htaccess') && (strpos($latestFile, $file_ending))) { $mtime = filemtime("$base_url/$latestFile"); if ($mtime > $newest_mtime) { $newest_mtime = $mtime; $show_file = "$base_url/$latestFile"; } } } } return $show_file; } echo '<img src="' .getLatestImage('foldername', 'file_ending.jpg'). '" alt="Latest from the web">'; ?>
Это мой путь, разрешая эту проблему, я не программист, это попытка получить ошибку продукта 🙂
Я использовал его в установке WordPress и должен был установить плагин Разрешить PHP в сообщениях и страницах (поэтому теги php отличаются друг от друга, обычно вместо [PHP] [/ PHP])
[PHP] global $path; // path to directory has to be global, using it later in html $dir = "Planetwebcam/"; $files = scandir($dir, 1); // read directory backkwards $picture = ($files[0]); // get las picture file name $path = "http://www.yourdomain.ch/Planetwebcam/$picture"; [/PHP] <a href="[PHP]global $path;echo $path; [/PHP]"> <img class="alignnone size-large" alt="Last picture" src="[PHP]global $path;echo $path; [/PHP]" width="1600" height="1200" /></a>