| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- <?php
 
- /**
 
-  * 获取已上传的文件列表
 
-  * User: Jinqn
 
-  * Date: 14-04-09
 
-  * Time: 上午10:17
 
-  */
 
- include "Uploader.class.php";
 
- /* 判断类型 */
 
- switch ($_GET['action']) {
 
-     /* 列出文件 */
 
-     case 'listfile':
 
-         $allowFiles = $CONFIG['fileManagerAllowFiles'];
 
-         $listSize = $CONFIG['fileManagerListSize'];
 
-         $path = $CONFIG['fileManagerListPath'];
 
-         break;
 
-     /* 列出图片 */
 
-     case 'listimage':
 
-     default:
 
-         $allowFiles = $CONFIG['imageManagerAllowFiles'];
 
-         $listSize = $CONFIG['imageManagerListSize'];
 
-         $path = $CONFIG['imageManagerListPath'];
 
- }
 
- $allowFiles = substr(str_replace(".", "|", join("", $allowFiles)), 1);
 
- /* 获取参数 */
 
- $size = isset($_GET['size']) ? htmlspecialchars($_GET['size']) : $listSize;
 
- $start = isset($_GET['start']) ? htmlspecialchars($_GET['start']) : 0;
 
- $end = $start + $size;
 
- /* 获取文件列表 */
 
- $path = $_SERVER['DOCUMENT_ROOT'] . (substr($path, 0, 1) == "/" ? "":"/") . $path;
 
- $files = getfiles($path, $allowFiles);
 
- if (!count($files)) {
 
-     return json_encode(array(
 
-         "state" => "no match file",
 
-         "list" => array(),
 
-         "start" => $start,
 
-         "total" => count($files)
 
-     ));
 
- }
 
- /* 获取指定范围的列表 */
 
- $len = count($files);
 
- for ($i = min($end, $len) - 1, $list = array(); $i < $len && $i >= 0 && $i >= $start; $i--){
 
-     $list[] = $files[$i];
 
- }
 
- //倒序
 
- //for ($i = $end, $list = array(); $i < $len && $i < $end; $i++){
 
- //    $list[] = $files[$i];
 
- //}
 
- /* 返回数据 */
 
- $result = json_encode(array(
 
-     "state" => "SUCCESS",
 
-     "list" => $list,
 
-     "start" => $start,
 
-     "total" => count($files)
 
- ));
 
- return $result;
 
- /**
 
-  * 遍历获取目录下的指定类型的文件
 
-  * @param $path
 
-  * @param array $files
 
-  * @return array
 
-  */
 
- 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;
 
- }
 
 
  |