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


PHP Gdn_Upload::CopyLocal方法代碼示例

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


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

示例1: UtilityController_Thumbnail_Create

 /**
  * Create and display a thumbnail of an uploaded file.
  */
 public function UtilityController_Thumbnail_Create($Sender, $Args = array())
 {
     $MediaID = array_shift($Args);
     if (!is_numeric($MediaID)) {
         array_unshift($Args, $MediaID);
     }
     $SubPath = implode('/', $Args);
     // Fix mauling of protocol:// URLs.
     $SubPath = preg_replace('/:\\/{1}/', '://', $SubPath);
     $Name = $SubPath;
     $Parsed = Gdn_Upload::Parse($Name);
     // Get actual path to the file.
     $Path = Gdn_Upload::CopyLocal($SubPath);
     if (!file_exists($Path)) {
         throw NotFoundException('File');
     }
     // Figure out the dimensions of the upload.
     $ImageSize = getimagesize($Path);
     $SHeight = $ImageSize[1];
     $SWidth = $ImageSize[0];
     if (!in_array($ImageSize[2], array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG))) {
         if (is_numeric($MediaID)) {
             // Fix the thumbnail information so this isn't requested again and again.
             $Model = new MediaModel();
             $Media = array('MediaID' => $MediaID, 'ImageWidth' => 0, 'ImageHeight' => 0, 'ThumbPath' => NULL);
             $Model->Save($Media);
         }
         $Url = Asset('/plugins/FileUpload/images/file.png');
         Redirect($Url, 301);
     }
     $Options = array();
     $ThumbHeight = MediaModel::ThumbnailHeight();
     $ThumbWidth = MediaModel::ThumbnailWidth();
     if (!$ThumbHeight || $SHeight < $ThumbHeight) {
         $Height = $SHeight;
         $Width = $SWidth;
     } else {
         $Height = $ThumbHeight;
         $Width = round($Height * $SWidth / $SHeight);
     }
     if ($ThumbWidth && $Width > $ThumbWidth) {
         $Width = $ThumbWidth;
         if (!$ThumbHeight) {
             $Height = round($Width * $SHeight / $SWidth);
         } else {
             $Options['Crop'] = TRUE;
         }
     }
     $TargetPath = "thumbnails/{$Parsed['Name']}";
     $ThumbParsed = Gdn_UploadImage::SaveImageAs($Path, $TargetPath, $Height, $Width, $Options);
     // Cleanup if we're using a scratch copy
     if ($ThumbParsed['Type'] != '' || $Path != MediaModel::PathUploads() . '/' . $SubPath) {
         @unlink($Path);
     }
     if (is_numeric($MediaID)) {
         // Save the thumbnail information.
         $Model = new MediaModel();
         $Media = array('MediaID' => $MediaID, 'ThumbWidth' => $ThumbParsed['Width'], 'ThumbHeight' => $ThumbParsed['Height'], 'ThumbPath' => $ThumbParsed['SaveName']);
         $Model->Save($Media);
     }
     $Url = $ThumbParsed['Url'];
     Redirect($Url, 301);
     //      Gdn_FileSystem::ServeFile($TargetPath, basename($Path), '', 'inline');
 }
開發者ID:SatiricMan,項目名稱:addons,代碼行數:67,代碼來源:class.fileupload.plugin.php


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