|
|
- <?php
-
- header('Cache-Control: no-cache, must-revalidate');
- header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
- header('Content-type: application/json');
-
- $images = array();
-
-
- function scan_dir($dir) {
- $ignored = array('.', '..', '.svn', '.htaccess');
-
- $files = array();
- foreach (scandir($dir) as $file) {
- if (in_array($file, $ignored)) continue;
- $files[$file] = filemtime($dir . '/' . $file);
- }
-
- arsort($files);
- $files = array_keys($files);
-
- return ($files) ? $files : false;
- }
-
- function imagelist($dir)
- {
- global $images;
-
- //$stuffs = scandir($dir);
-
- $stuffs = scan_dir($dir);
-
- for ($i = 0; $i < sizeof($stuffs); $i++)
- {
- $farr = explode('.', $stuffs[$i]);
- if ($stuffs[$i] != '.' && $stuffs[$i] != '..' && $farr[0] != 'thumb')
- if (is_dir($stuffs[$i]))
- imagelist($dir.'/'.$stuffs[$i]);
- elseif (in_array(end($farr), array('gif', 'png', 'jpg', 'jpeg')))
- {
- // PATHS
- $outdir = '/data/'.ltrim($dir, './').'/';
- $img = $dir.'/'.$stuffs[$i];
- $thumb = $dir.'/thumb.'.$stuffs[$i];
-
- // THUMBNAIL
- if (!file_exists($thumb))
- {
- $cthumb = new Imagick($img);
- $cthumb->cropThumbnailImage(260, 260);
- $cthumb->writeImage($thumb);
- $cthumb->destroy();
- }
-
- // ADD TO LIST
- array_push($images, array(
- 'image' => $outdir.rawurlencode($stuffs[$i]),
- 'thumb' => $outdir.'thumb.'.$stuffs[$i],
- 'folder' => ltrim($dir, './')
- ));
- }
- }
- }
-
- imagelist('./uploads');
- foreach(glob('./uploads/*', GLOB_ONLYDIR) as $dir)
- imagelist($dir);
-
- echo str_replace('\/', '/', json_encode($images));
|