Source for file FileObject.class.php
Documentation is available at FileObject.class.php
* Содержит класс FileObject и интерфейс FileSystemObject
* @copyright Energine 2006
//require_once('core/framework/FileSystemObject.class.php');
//require_once('core/modules/image/components/Image.class.php');
// const THUMB_TABLE_NAME = 'share_uploads_thumbnails';
* Статический метод загрузки возвращающий self
* @param string путь к файл
public static function loadFrom($path) {
$result->loadData($path);
//Для изображений добавляем высоту и ширину
$thumb->loadFromFile($path);
$thumb->saveToFile($fileName);
$data = array('thumb'=> $fileName);
//В этом случае ничего делать не нужно
$data = array_merge($data, array('width'=> $imgData[0], 'height'=> $imgData[1]));
public function create($data) {
$data = $data[self::TABLE_NAME];
$sourceFileName = $data['upl_path'];
//Копируем файл из временной директории на нужное место
copy($tmpFile = self::getTmpFilePath($sourceFileName), $sourceFileName);
$uplID = $this->dbh->modify(QAL::INSERT, self::TABLE_NAME, $data);
$image->loadFromFile($sourceFileName);
$image->resize($width = (int) $thumbnail->width, $height = (int) $thumbnail->height);
$image->saveToFile(self::getThumbFilename($sourceFileName, $width, $height));
return $dirname. '/'. '.'. $filename. '.'. $width. '-'. $height. '.'. $extension;
* Генерируем уникальное имя файла.
$c = ''; // первый вариант имени не будет включать символ '0'
$filename = time(). rand(1, 10000). "$c.{$fileExtension}";
$c++ ; // при первом проходе цикла $c приводится к integer(1)
* Создание файла из существующего
$this->dbh->modify(QAL::INSERT, self::TABLE_NAME, array('upl_path'=> $path, 'upl_name'=> $name));
|