. */ require '../../config.php'; $simplePath = $_SERVER["PATH_INFO"]; if ($simplePath == '/') $simplePath = ''; // extra security check to avoid /photos/index/../.. like urls, maybe useless but.. if (strpos($simplePath, '..') !== false) die(".. found in url"); if (! is_file('../../'.IMAGES_DIR.$simplePath)) { header("HTTP/1.1 404 Not Found"); die("File Not Found"); } $scriptPath = $_SERVER["SCRIPT_NAME"]; // get all images in an array $images = array(); $files = scandir('../../'.IMAGES_DIR.dirname($simplePath)); foreach ($files as $file) { $ext = strtolower(substr($file, -4)); if ($ext == ".jpg" or $ext == ".png") $images[] = $file; } // find the image position $pos = array_search(basename($simplePath), $images); if ($pos === false) die("Image not found"); // get prev and next images $prevImage = ''; $nextImage = ''; if ($pos > 0) $prevImage = $images[$pos-1]; if ($pos < sizeof($images)-1) $nextImage = $images[$pos+1]; // template variables $imageUrl = dirname($scriptPath)."/../../".IMAGES_DIR.$simplePath; if ($nextImage === '') { $nextImageUrl = ''; $nextPageUrl = ''; } else { $nextImageUrl = dirname($scriptPath)."/".IMAGES_DIR.dirname($simplePath)."/$nextImage"; $nextPageUrl = dirname($_SERVER["REQUEST_URI"])."/$nextImage"; } if ($prevImage === '') $prevPageUrl = ''; else $prevPageUrl = dirname($_SERVER["REQUEST_URI"])."/$prevImage"; $directoryUrl = dirname($scriptPath)."/../../index.php".dirname($simplePath); header('Content-Type: text/html; charset=utf-8'); header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); ?>
^