. */ define('IMAGES_DIR', 'images'); $shortPath = $_SERVER["PATH_INFO"]; if ($shortPath == '/') $shortPath = ''; // extra security check to avoid /photos/index/../.. like urls, maybe useless but.. if (strpos($shortPath, '..') !== false) die(".. found in url"); if (! is_file(IMAGES_DIR.$shortPath)) { 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($shortPath)); 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($shortPath), $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.$shortPath; if ($nextImage === '') { $nextImageUrl = ''; $nextPageUrl = ''; } else { $nextImageUrl = dirname($scriptPath)."/".IMAGES_DIR.dirname($shortPath)."/$nextImage"; $nextPageUrl = dirname($_SERVER["REQUEST_URI"])."/$nextImage"; } if ($prevImage === '') $prevPageUrl = ''; else $prevPageUrl = dirname($_SERVER["REQUEST_URI"])."/$prevImage"; $directoryUrl = dirname($_SERVER["SCRIPT_NAME"])."/index.php".dirname($shortPath); header('Content-Type: text/html; charset=utf-8'); header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); ?>
^