Initial commit
This commit is contained in:
69
data/imglist.json.php
Normal file
69
data/imglist.json.php
Normal file
@ -0,0 +1,69 @@
|
||||
<?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));
|
Reference in New Issue
Block a user