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


PHP Gdn_Upload::allowFileExtension方法代碼示例

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


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

示例1: handleAddonUpload

 /**
  * Handle form upload of an addon zip archive.
  *
  * @return array
  */
 protected function handleAddonUpload()
 {
     $Upload = new Gdn_Upload();
     $Upload->allowFileExtension(null);
     $Upload->allowFileExtension('zip');
     $AnalyzedAddon = [];
     try {
         // Validate the upload.
         $TmpFile = $Upload->validateUpload('File');
         $Extension = pathinfo($Upload->getUploadedFileName(), PATHINFO_EXTENSION);
         // Generate the target name.
         $TargetFile = $Upload->generateTargetName('addons', $Extension);
         $TargetPath = PATH_UPLOADS . '/' . $TargetFile;
         if (!file_exists(dirname($TargetPath))) {
             mkdir(dirname($TargetPath), 0777, true);
         }
         // Save the file to a temporary location for parsing.
         if (!move_uploaded_file($TmpFile, $TargetPath)) {
             throw new Exception("We couldn't save the file you uploaded. Please try again later.", 400);
         }
         $AnalyzedAddon = UpdateModel::analyzeAddon($TargetPath, true);
         // If the long description is blank, load up the readme if it exists
         $formDescription = $this->Form->getFormValue('Description2', '');
         if ($formDescription == '') {
             $Readme = $this->parseReadme($TargetPath);
             if ($Readme) {
                 $AnalyzedAddon['Description2'] = $Readme;
             }
         } else {
             $AnalyzedAddon['Description2'] = $formDescription;
         }
         // Get an icon if one exists.
         $Icon = $this->extractIcon($TargetPath, val('Icon', $AnalyzedAddon, ''));
         if ($Icon) {
             // Overwrite info array value with the path to the saved file.
             $AnalyzedAddon['Icon'] = $Icon;
         }
         // Set the filename for the CDN.
         $Upload->EventArguments['OriginalFilename'] = AddonModel::slug($AnalyzedAddon, true) . '.zip';
         // Save the uploaded file. After this, we no longer have a local copy to analyze.
         $Parsed = $Upload->saveAs($TargetPath, $TargetFile);
         $AnalyzedAddon['File'] = $Parsed['SaveName'];
         unset($AnalyzedAddon['Path']);
         trace($AnalyzedAddon, 'Analyzed Addon');
         $this->Form->formValues($AnalyzedAddon);
     } catch (Exception $ex) {
         $this->Form->addError($ex);
         // Delete the erroneous file.
         try {
             if (isset($AnalyzedAddon) && isset($AnalyzedAddon['File'])) {
                 $Upload->delete($AnalyzedAddon['File']);
             }
         } catch (Exception $Ex2) {
         }
     }
     if (isset($TargetPath) && file_exists($TargetPath)) {
         unlink($TargetPath);
     }
     return $AnalyzedAddon;
 }
開發者ID:vanilla,項目名稱:community,代碼行數:65,代碼來源:class.addoncontroller.php


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