обновить/очистить/перерисовать страницу с содержимым из другого места

Я собрал некоторый код для поиска в каталоге и для всех изображений jpg, которые он находит, для отображения миниатюр и моей необходимой информации iptc и exif. Проблема в том, что у меня очень много каталогов с фотографиями, и мне нужен файл index.php для каждого из них. Мои каталоги названы по месяцам и годам; «1401» за январь 20014 года, «1402» за февраль и т. д., и у меня есть набор ярлыков для каждого из них с именами «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);
    }
}

person user3761654    schedule 21.06.2014    source источник
comment
Возможно, стоит рассмотреть комбинацию RecursiveDirectoryIterator и RecursiveIteratorIterator вместо использования файла index.php для каждого отдельного каталога. В этом ответе есть пример.   -  person Havelock    schedule 21.06.2014
comment
спасибо Havelock - я больше думаю о том, как обновить экран с информацией из другого каталога - как будто пользователь переходит в другой файл php.   -  person user3761654    schedule 21.06.2014