<?php

$allowFiles = json_decode('[".png", ".jpg", ".jpeg", ".gif", ".bmp"]');
$allowFiles = substr(str_replace(".", "|", implode("", $allowFiles)), 1);
$lists = getfiles('./ueditor', $allowFiles);

echo "<pre>";
var_dump($lists);
echo "</pre>";

/**
 * 获取目录下文件列表
 * 遍历获取目录下的指定类型的文件,并返回所有目录下文件的列表数组
 * 
 * @param	string	$path 		文件路劲
 * @param	array	$allowFiles	要列出列表的文件类型
 * @param	array	$files		[可选]要返回的数组,地址引用
 * @return	array	
		array(
			array('url' => '图片地址','mtime' => '时间戳'),
			array('url' => '图片地址','mtime' => '时间戳'),
		);
 */
function getfiles($path, $allowFiles, &$files = array())
{
	if (!is_dir($path)) return null;
	if(substr($path, strlen($path) - 1) != '/') $path .= '/';
	$handle = opendir($path);
	while (false !== ($file = readdir($handle))) {
		if ($file != '.' && $file != '..') {
			$path2 = $path . $file;
			if (is_dir($path2)) {
				getfiles($path2, $allowFiles, $files);
			} else {
				if (preg_match("/\.(".$allowFiles.")$/i", $file)) {
					$files[] = array(
						'url'		=> substr($path2, strlen($_SERVER['DOCUMENT_ROOT'])),
						'mtime'	=> filemtime($path2)
					);
				}
			}
		}
	}
	return $files;
}