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'); }