Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

понедельник, 26 сентября 2011 г.

Zend Framework. Фильтр Rename с сохранением расширения файла.

// Создаем объект формы
$form = new Zend_Form();

// Создаем элемент загрузки файла
$file = new Zend_Form_Element_File('as_file');
$file->setLabel('Загрузить файл(PDF, MSWORD)');
$file->setDestination('/path/to/upload/dir');
$file->addValidator('Extension', false, 'pdf,doc,docx');
$file->addValidator('Count', false, 1);
$file->addValidator('Size', false, 5000000);
$form->addElement($file);

...

if($this->_request->isPost() && $form->isValid($this->_request->getParams()))
{
    // Получаем массив - информация о загружаемом файле
    $file = $form->as_file->getFileInfo();
    // Ищем расширение файла
    $ext = preg_match('#\.\w+$#', $file['as_file']['name'], $m) ? $m[0] : '';
    // Новое имя
    $new_name = 'myfile' . uniqid() . $ext;
    // Добавляем фильтр к элементу
    $form->as_file->addFilter('Rename', '/path/to/upload/dir/'. $new_name);
    // Загружаем файл на сервер
    $form->as_file->receive();
}

Комментариев нет:

Отправить комментарий