Exemple #1
0
 /**
  * функция получает все необходимые данные о файле
  * возвращает массив свойств
  * 
  * @param (string) $path - путь к файлу
  * @param (string) $file - имя файла
  * 
  * @return (array) - массив свойств файла
  */
 public function getFileData($path, $file)
 {
     $arrData = @stat(filesys::setPath($path) . $file);
     $ext = filesys::getExtension($file);
     if (@in_array($ext, $this->arrFileTypes)) {
         $icon = $ext;
     } else {
         $icon = 'undefined';
     }
     $sizekb = sprintf("%01.1f", $arrData['size'] / 1024);
     $sizemb = sprintf("%01.1f", $arrData['size'] / 1048576);
     $arrFileData = array('name' => $file, 'icon' => $icon, 'size' => $arrData['size'], 'date' => $arrData['mtime'], 'title_sizekb' => $sizekb, 'title_sizemb' => $sizemb);
     return $arrFileData;
 }
 /**
  * функция получает системные данные файле (дата создания, размер и пр.)
  * возвращает массив свойств (name, path, abspath, ext, size, date, title_sizekb, title_sizemb)
  * @param (string) $file - полный путь к файлу
  * @return array or false - массив свойств файла
  */
 static function getFileSystemData($file)
 {
     if (!file_exists($file)) {
         return false;
     }
     if (!($arrData = stat($file))) {
         return false;
     }
     $name = basename($file);
     $path = dirname($file);
     $abspath = realpath($file);
     $ext = filesys::getExtension($file);
     $sizekb = sprintf("%01.1f", $arrData['size'] / 1024);
     $sizemb = sprintf("%01.1f", $arrData['size'] / 1048576);
     return array('name' => $name, 'path' => $file, 'abspath' => $abspath, 'ext' => $ext, 'size' => $arrData['size'], 'date' => $arrData['mtime'], 'title_sizekb' => $sizekb, 'title_sizemb' => $sizemb);
 }
 /**
  * Функция устанавливает свойства файла, необходимые для записи в файл БД
  * Пока этот метод необходим только для файл-менеджера
  * 
  * @param (string) $field_name - им поля из формы загрузки файла
  * @param (array) $fileTypes - массив типов файлов, разрешенных для загрузки (по умолчанию FALSE)
  * 
  * @return bool
  */
 static function setDBProperties($field_name, $fileTypes)
 {
     // проверка на изображение
     $imgData = getimagesize($_FILES[$field_name]['tmp_name']);
     // устанавливаем свойства для записи в файл БД
     self::$fileProperties['filename'] = strtolower($_FILES[$field_name]['name']);
     self::$fileProperties['ext'] = filesys::getExtension(self::$fileProperties['filename']);
     self::$fileProperties['name'] = rtrim(self::$fileProperties['filename'], '.' . self::$fileProperties['ext']);
     self::$fileProperties['path'] = !empty($imgData) ? CONF_FILEMANAGER_PATH_TO_IMAGES : CONF_FILEMANAGER_PATH_TO_FILES;
     self::$fileProperties['link'] = self::$fileProperties['path'];
     self::$fileProperties['type'] = !empty($imgData) ? 'image' : 'file';
     self::$fileProperties['mime'] = $_FILES[$field_name]['type'];
     self::$fileProperties['size'] = $_FILES[$field_name]['size'];
     self::$fileProperties['sizekb'] = sprintf("%01.1f", $_FILES[$field_name]['size'] / 1024);
     self::$fileProperties['width'] = !empty($imgData) ? $imgData[0] : false;
     self::$fileProperties['height'] = !empty($imgData) ? $imgData[1] : false;
     self::$fileProperties['date'] = time();
     self::$fileProperties['icon'] = !empty($fileTypes) && is_array($fileTypes) && in_array(self::$fileProperties['ext'], $fileTypes) ? self::$fileProperties['ext'] : 'undefined';
     self::$fileProperties['md5'] = md5(self::$fileProperties['filename']);
     return true;
 }