Esempio n. 1
0
function readDirectory($directory)
{
    $files = array();
    if (is_dir($directory)) {
        if ($dh = opendir($directory)) {
            while (($f = readdir($dh)) !== false) {
                switch (substr(exec("ls -dl \"" . str_replace('"', '\\"', $directory . $f) . "\""), 0, 1)) {
                    case '-':
                        $type = 'file';
                        break;
                    case 'd':
                        $type = 'dir';
                        break;
                    case 'c':
                        $type = 'char';
                        break;
                    case 'b':
                        $type = 'block';
                        break;
                    case 'l':
                        $type = 'link';
                        break;
                    default:
                        $type = 'unknown';
                        break;
                }
                $file = array('name' => $f, 'path' => $directory . $f, 'type' => $type, 'icon' => '');
                if ($file = filterFile($file)) {
                    $files[] = $file;
                }
            }
            closedir($dh);
        }
    }
    usort($files, "naturalSortByName");
    return array('title' => basename($directory), 'directory' => $directory, 'files' => $files);
}
 /**
  *修改头像操作
  */
 public function faceAction()
 {
     ///////////////判断是否已经登录////////////
     $sessionMysql = new SessionMysql();
     if (!isset($_SESSION['id'])) {
         header('Location:' . $this->strControllerUrl . '/login');
         die;
     }
     ////////////////过滤数据/////////////////
     $model = $this->M('User');
     $config = getConfig();
     $file = array(array('face', 'image/gif,image/jpeg,image/jpg,image/png', $config['maxFace']));
     if (!filterFile($file)) {
         //过滤失败
         error('文件不符合');
         jump($this->strControllerUrl . '/index');
         die;
     }
     ////移动文件到指定路径并判断是否成功///////
     $time = time();
     $fileName1 = '/tmp/' . $time . '_' . $_FILES['face']['name'];
     //缩略图前存储路径
     $fileName2 = '/face/' . $time . '_' . $_FILES['face']['name'];
     //缩略图后存储路径
     if (!move_uploaded_file($_FILES['face']['tmp_name'], FILE_PATH . $fileName1)) {
         error('上传失败');
         jump($this->strControllerUrl . '/index');
         die;
     }
     ///将上传的文件生成缩略图////////
     import('Image');
     if (!Image::thumb(FILE_PATH . $fileName1, FILE_PATH . $fileName2, $config['widthFace'], $config['heightFace'])) {
         $faceUrl = DOMAIN . '/file' . $fileName1;
     } else {
         $faceUrl = DOMAIN . '/file' . $fileName2;
     }
     ////////修改头像操作////////////
     $model->setFace($_SESSION['id'], $faceUrl);
     if (!empty($model->getError())) {
         header('Location:' . $this->strControllerUrl . '/index');
         die;
     }
     //////跳转///////////
     error('修改成功');
     jump($this->strControllerUrl . '/index');
 }