0

我已经整理了一些代码来搜索目录,并为它找到的所有 jpg 图像,显示缩略图以及我需要的 iptc 和 exif 信息。问题是我有很多很多照片目录,因此我需要为每个目录创建一个 index.php 文件。我的目录按月份和年份命名;“1401”代表 20014 年 1 月,“1402”代表 2 月等,我有一组快捷方式图像,每个图像称为“1401.jpg”、“1402.jpg”等,所以我使用此代码让用户导航到其他$shortcut 的值为 1401、1402 等的目录:

echo("<a href=\" . $path . $shortcut . "\"><img src=\"shortcutimages/" . $shortcut . "\"></a>");

我很乐意让用户以类似的方式导航,而不需要多个 index.php 文件。我猜最好的方法如下:

在像上面这样的链接上单击鼠标时,应该重新运行主 php(类似于下面),替换当前显示在屏幕上的内容,但将 $dir 的新值替换为 $dir="../" 之类的内容。$快捷方式; 这是这样做的方法吗?作为一个新手,如果这真的很简单,我很抱歉,但事实上我似乎无法解决。

在此先感谢您的帮助,

席瓦达斯

$dir=".";   // or other folder path of choice!
$jpgcount=0;
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($image = readdir($dh)) !== false)
        {
            if (preg_match("/.jpg/", $image))    // only use .jpg files
            {
                $image=$dir . "/" . $image;
                $exif = exif_read_data($image, 0, true);
                $exif_name = $exif['FILE']['FileName']; 
                if(isset($exif['EXIF']['DateTimeOriginal']))
                {
                    $timestamp = $exif['EXIF']['DateTimeOriginal'];
                }
                    else
                { 
                    $timestamp = "1971:01:01 01:01:01";  // puts in a datestamp if one doesnt exist 
                }
                $datename[] = $timestamp . $exif_name;        // create array of date+name to allow sorting by date then retrieval of date ordered names once datestamp is removed
                $jpgcount++;                    // counts number of jpgs in folder
            }
        }
        sort($datename);                        // sort date+name array by date
        for($c=0; $c<$jpgcount; $c++)
        {
            $image = pythonslice("$datename[$c]","19:");        // function strips off the datestamp (1st 19 characters) to leave the filename (taken from www.php.net/manual/en/function.substr.php slow at acedsl dot com)
            $image=$dir . "/" . $image;
            $size = getimagesize("$image", $info);
            echo("<tr><td valign=top><A href=" . str_replace(' ', '%20', $image) ."> <IMG border=0 src=showthumb.php?image=" . str_replace(' ', '%20', $image) ."></A><td><td valign=top><font size=-1 face=\"Arial Narrow\">"); // get thumbnail and link to full image
            show_metadata($image,$info);                // function to display all required metadata
            echo "</font></td></tr>";
        }
    closedir($dh);
    }
}
4

0 回答 0