當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Zend_File_Transfer_Adapter_Abstract::getFileInfo方法代碼示例

本文整理匯總了PHP中Zend_File_Transfer_Adapter_Abstract::getFileInfo方法的典型用法代碼示例。如果您正苦於以下問題:PHP Zend_File_Transfer_Adapter_Abstract::getFileInfo方法的具體用法?PHP Zend_File_Transfer_Adapter_Abstract::getFileInfo怎麽用?PHP Zend_File_Transfer_Adapter_Abstract::getFileInfo使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Zend_File_Transfer_Adapter_Abstract的用法示例。


在下文中一共展示了Zend_File_Transfer_Adapter_Abstract::getFileInfo方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: handleUpload

 public function handleUpload()
 {
     $validate = $this->validateClass();
     if ($validate !== true) {
         return $validate;
     }
     $translate = Zend_Registry::get("Zend_Translate");
     $zft = new Zend_File_Transfer();
     $this->_adapter = $zft->getAdapter('http');
     if ($this->_adapter->isUploaded()) {
         if ($this->_rename) {
             if (!$this->_useMd5Name) {
                 $name = $this->_name;
             } else {
                 $name = $this->_adapter->getHash('md5');
             }
             if ($this->_useFileExtension) {
                 $extension = substr($this->_adapter->getFileName(null, false), strrpos($this->_adapter->getFileName(null, false), '.') + 1);
                 $name .= '.' . strtolower($extension);
             }
         }
         $path = $this->_genPath($name);
         if (Agana_Util_FileHandle::isWritableDir($path)) {
             $this->_adapter->addValidator('ExcludeExtension', false, 'php,exe,so,dll')->addValidator('Size', false, $this->_sizeLimit)->addValidator('Extension', false, $this->_allowedExtensions)->setDestination($path);
             if ($this->_rename) {
                 $this->_adapter->addFilter('Rename', array('target' => $path . $name, 'overwrite' => true));
             }
             if ($this->_adapter->isValid()) {
                 try {
                     $this->_adapter->receive();
                     $this->_adapter->setOptions(array('useByteString' => false));
                     $file = $this->_adapter->getFileInfo();
                     $file = array_shift($file);
                     $result['name'] = $file['name'];
                     $result['type'] = $file['type'];
                     $result['size'] = $file['size'];
                     /**
                      * Resize images based on dimensions options 
                      */
                     //TODO test if the file uploaded is a image
                     foreach ($this->_dimensions as $sizename => $dim) {
                         $wide = WideImage::load($file['tmp_name']);
                         $imgResult = $wide->resize($dim['width'], $dim['height'], 'inside', 'down');
                         $resizedfilename = Agana_Util_FileHandle::genFileNameByClassification($file['name'], $sizename);
                         if (strpos(strtolower($file['type']), 'png') !== false) {
                             $compression = 8;
                         } else {
                             $compression = 80;
                         }
                         $imgResult->saveToFile($file['destination'] . '/' . $resizedfilename, $compression);
                     }
                     return $result;
                 } catch (Zend_File_Transfer_Exception $e) {
                     return array('error' => $e->getMessage());
                 }
             } else {
                 $error = array();
                 foreach ($this->_adapter->getMessages() as $value) {
                     $error[] = $value;
                 }
                 return array('error' => $translate->_($error));
             }
         } else {
             return array('error' => $translate->_('file could not be created or path is not writable'));
         }
     } else {
         return array('error' => $translate->_('No file uploaded'));
     }
 }
開發者ID:brunopbaffonso,項目名稱:ongonline,代碼行數:69,代碼來源:FileUploader.php


注:本文中的Zend_File_Transfer_Adapter_Abstract::getFileInfo方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。