Exemplo n.º 1
0
 public function initInfo()
 {
     parent::initInfo();
     $path = Cfg::get('baseDir') . $this->id;
     Log::debug($path);
     $this->lastmod = @filemtime($path);
     $this->size = sprintf("%u", filesize($path));
     if ($this->type != 'folder') {
         $pos = strrpos($this->name, ".");
         if ($pos) {
             $this->cls = substr($this->name, $pos + 1);
             $this->type = $this->getTypeFromExp($this->cls);
         }
     }
 }
Exemplo n.º 2
0
 static function findByDir($dir, $isInfo = true, $isHidden = true)
 {
     $hidden = false;
     if ($isHidden) {
         $hidden = Cfg::get('hidden', false);
     }
     $dir = ltrim($dir, '/');
     $path = Lib::gpath($dir);
     $res = array();
     $d = opendir($path);
     if ($d) {
         $files = array();
         while (($e = readdir($d)) !== false) {
             if ($e == '.' || $e == '..') {
                 continue;
             }
             if ($hidden == false || !preg_match($hidden, $e)) {
                 $file = BasefileModel::createFromPath($dir . '/' . $e, $isInfo);
                 if ($file) {
                     if ($file->type == 'folder') {
                         $res[] = $file;
                     } else {
                         $files[] = $file;
                     }
                 }
             }
         }
         $res = array_merge($res, $files);
     }
     return $res;
 }
Exemplo n.º 3
0
 public function upload()
 {
     try {
         $folder = BasefileModel::createFromPath($this->params->dir);
         if ($folder) {
             if ($_FILES['file']['error'] == 0) {
                 if ($folder->upload($_FILES['file'], $this->params->name)) {
                     return new Response($folder->getChildren());
                 } else {
                     return new ResponseError(gettext("Не удалось загрузить файл."));
                 }
             } else {
                 switch ($_FILES['file']['error']) {
                     case UPLOAD_ERR_INI_SIZE:
                     case UPLOAD_ERR_FORM_SIZE:
                         return new ResponseError(gettext("Размер принятого файла превысил максимально допустимый размер."));
                     case UPLOAD_ERR_PARTIAL:
                         return new ResponseError(gettext("Загружаемый файл был получен только частично."));
                     case UPLOAD_ERR_NO_FILE:
                         return new ResponseError(gettext("Не удалось загрузить файл."));
                 }
             }
         } else {
             return new ResponseError(gettext("Не найдена директория."));
         }
     } catch (Exception $ex) {
         Log::exception($ex);
         return new ResponseError(gettext("Не возможно загрузить в эту директорию."));
     }
 }
Exemplo n.º 4
0
 static function mkdir($path, $name, $mode = false)
 {
     $path = trim($path, ' /\\');
     $pachFolder = Cfg::get('baseDir') . '/' . $path;
     $mode = intval(Cfg::get('mkdirmode', 0666, $mode), 8);
     if (mkdir($pachFolder . '/' . $name, $mode)) {
         chmod($pachFolder . '/' . $name, $mode);
         return BasefileModel::createFromPathAndName($path, $name);
     }
     return false;
 }