0

我有一个创建图像的表单(使用 imagejpeg、imagettftext 和 imagecreatefromjpeg)并将其保存在服务器的文件夹中。我需要做的是将所有创建的图像显示到另一个页面,最新的在顶部,最旧的在底部。我有一个名为 formdisplay.php 的表单,但它只是显示损坏的图像,而不是最新到最旧的。希望你能帮助我。真的需要让这个工作。在此先感谢您的帮助。

我已经阅读了这些帖子,但没有一个对我有用。

从文件夹中提取专用图像 - 显示图像 + 文件名(去除文件名的一部分 + 文件扩展名)

如何先显示最新上传的图像?(PHP+CSS)

从服务器获取图像并显示它们

在php中显示文件夹中的图像

显示来自在 html 中嵌入 php 的服务器的图像

表单创建保存.php

    imagecopymerge($im, $img2, 10, 350, 0, 0, imagesx($img2), imagesy($img2), 100);

$date_created = date("YmdHis");//get date created
$img_name = "-img_entry.jpg"; //the file name of the generated image
$img_newname = $date_created . $img_name; //datecreated+name
$img_dir =dirname($_SERVER['SCRIPT_FILENAME']) ."/". $img_newname; //the location to save 
imagejpeg($im, $img_dir , 80); //function to save the image with the name and quality

imagedestroy($im);

表单显示.php

$dir = '/home3/site/public_html/Master/uploader/uploader';
$base_url = 'http://mysite.com/Master/uploader/uploader/20131027024705-img_entry.jpg';
$newest_mtime = 0;
$show_file = 'BROKEN';
if ($handle = opendir($dir)) {
 while (false !== ($file = readdir($handle))) {
    if (($file != '.') && ($file != '..')) {
       $mtime = filemtime("$dir/$file");
       if ($mtime > $newest_mtime) {
          $newest_mtime = $mtime;
          $show_file = "$base_url/$file";
       }
    }
  }
}
print '<img src="' .$show_file. '" alt="Image Title Here">';

请随时编辑我的代码。谢谢 :)

4

2 回答 2

0

这在创建 $images 数组的 while 循环之后进行(图像文件名列表

 foreach ($images as $image)

 {

 $filetime = filemtime("images1/$image");

 $sortedimages[]$filetime => $image;

 }

 krsort($sortedimages);


 echo "<pre>";

 print_r($sortedimages);

 echo "</pre>"

 ?>
于 2013-10-27T14:56:00.983 回答
0
  1. 从文件夹中读取图像。
  2. 遍历它们并使用图像的关键文件时间插入数组。
  3. 使用 krsort 函数根据日期对它们进行排序。
  4. 循环并显示它们。

我认为这个链接会帮助你: http ://forums.phpfreaks.com/topic/219466-php-displaying-images-from-folder-with-most-recent-first/

于 2013-10-27T09:41:51.903 回答