$value) { $path = realpath($dir . DIRECTORY_SEPARATOR . $value); if (!is_dir($path)) { $valid = pathinfo($path, PATHINFO_EXTENSION) == "zip"; if ($valid) break; } } return $valid; } /** * Get all directories in the specified path and creates them on the page * @param string $path path to search directories in */ function createDirectories($path) { $path = photoRoot . $path; $displayedItems = 0; $folders = getDirectories($path); foreach ($folders as $key => $value) { $folderTitle = $value; $photos = getTotalPhotoCount($path . DIRECTORY_SEPARATOR . $value); $albums = getTotalAlbumCount($path . DIRECTORY_SEPARATOR . $value); $folderLink = "?" . urlParam . "=" . getActivePath() . DIRECTORY_SEPARATOR . $value; include("includes/photos/folder_template.php"); $displayedItems++; } } /** * Get all photos in the specified path and creates them on the page * @param string $path path to search photos in */ function createPhotos($path) { $path = photoRoot . "_thumb" . $path; $files = scandir($path); $displayedItems = 0; foreach ($files as $key => $value) { $realPath = realpath($path . DIRECTORY_SEPARATOR . $value); if (isValidImage($realPath)) { $imageSrc = $path . DIRECTORY_SEPARATOR . $value; $imageId = "photo-" . $displayedItems; include("includes/photos/photo_template.php"); $displayedItems++; } } } /** * get folders in the given path * @param string $path path to search folders in * @return array array of folders */ function getDirectories($path) { $files = scandir($path); $folders = []; foreach ($files as $key => $value) { $realPath = realpath($path . DIRECTORY_SEPARATOR . $value); if (isValidDirectory($realPath, $value)) { array_push($folders, $value); } } return $folders; } /** * Counts directories in the specified folder * @param string $path path to search directories in * @return int directories count */ function getDirectoriesCount($path) { $files = scandir($path); $dirCount = 0; foreach ($files as $key => $value) { $realPath = realpath($path . DIRECTORY_SEPARATOR . $value); if (isValidDirectory($realPath, $value)) { $dirCount++; } } return $dirCount; } /** * Counts images in the specified folder * @param string $path path to search photos in * @return int photo count */ function getPhotoCount($path) { $files = scandir($path); $fileCount = 0; foreach ($files as $key => $value) { $realPath = realpath($path . DIRECTORY_SEPARATOR . $value); if (isValidImage($realPath)) { $fileCount++; } } return $fileCount; } /** * Get the count of all directories, recursively from the path specified * @param string $path root for search * @return int total number of directories */ function getTotalAlbumCount($path) { $folders = getDirectories($path); $total = sizeof($folders); foreach ($folders as $key => $value) { $total += getTotalAlbumCount($path . DIRECTORY_SEPARATOR . $value); } return $total; } function getTotalPhotoCount($path) { $folders = getDirectories($path); $total = getPhotoCount($path); foreach ($folders as $key => $value) { $total += getTotalPhotoCount($path . DIRECTORY_SEPARATOR . $value); } return $total; } /** * Check if the given image is valid * @param string $imagePath absolute path of the image * @return bool True if the file is a jpg, jpeg or png, false otherwise */ function isValidImage($imagePath) { $ext = pathinfo($imagePath, PATHINFO_EXTENSION); return !is_dir($imagePath) && ($ext == "jpg" || $ext == "JPG" || $ext == "jpeg" || $ext == "JPEG" || $ext == "png" || $ext == "PNG"); } /** * Check if the given folder is valid (is not '.' or '..') * @param string $directoryPath directory path * @param string $directory directory name * @return bool True if the directory is valid, false otherwise */ function isValidDirectory($directoryPath, $directory) { return is_dir($directoryPath) && $directory != "." && $directory != ".."; } /** * Creates buttons representing the actual path for easier navigation * @param string $path Actual Path */ function generatePath($path) { $folders = explode(DIRECTORY_SEPARATOR, $path); $currentPath = ""; $pathTitle = "Menu"; $pathLink = "?" . urlParam . "="; include("includes/photos/path_template.php"); foreach ($folders as $value) { if ($value != "") { $pathTitle = $value; $currentPath .= DIRECTORY_SEPARATOR . $value; $pathLink = "?" . urlParam . "=" . $currentPath; include("includes/photos/path_template.php"); } } } ?>

Photos

Cliquez sur le dossier de votre choix pour afficher les photos

0): ?>
Télécharger l'album photos 0): ?>