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


PHP AssetFileModel::getTransformSource方法代碼示例

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


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

示例1: replaceFile

 /**
  * Replace physical file.
  *
  * @param AssetFileModel $oldFile        The assetFileModel representing the original file.
  * @param AssetFileModel $replaceWith    The assetFileModel representing the new file.
  * @param string         $filenameToUse  The filename to use for the replaced file. If left
  *                                       empty, will use the name of the new file.
  *
  * @return null
  */
 public function replaceFile(AssetFileModel $oldFile, AssetFileModel $replaceWith, $filenameToUse = "")
 {
     if ($oldFile->kind == 'image') {
         craft()->assetTransforms->deleteAllTransformData($oldFile);
         $this->deleteSourceFile($oldFile->getFolder()->path . $oldFile->filename);
         $this->purgeCachedSourceFile($oldFile->getFolder(), $oldFile->filename);
         // For remote sources, fetch the source image and move it in the old ones place
         if (!$this->isSourceLocal()) {
             if ($replaceWith->kind == 'image') {
                 $localCopy = $replaceWith->getTransformSource();
                 IOHelper::copyFile($localCopy, craft()->path->getAssetsImageSourcePath() . $oldFile->id . '.' . IOHelper::getExtension($oldFile->filename));
             }
         }
     }
     $newFileName = !empty($filenameToUse) ? $filenameToUse : $oldFile->filename;
     $folder = craft()->assets->getFolderById($oldFile->folderId);
     $filenameChanges = StringHelper::toLowerCase($newFileName) != StringHelper::toLowerCase($replaceWith->filename);
     // If the filename does not change, this can trigger errors in some source types.
     if ($filenameChanges) {
         $this->moveSourceFile($replaceWith, $folder, $newFileName, true);
     }
     // Update file info
     $oldFile->width = $replaceWith->width;
     $oldFile->height = $replaceWith->height;
     $oldFile->size = $replaceWith->size;
     $oldFile->kind = $replaceWith->kind;
     $oldFile->dateModified = $replaceWith->dateModified;
     $oldFile->filename = $newFileName;
     if (empty($filenameToUse)) {
         $replaceWith->filename = $this->getNameReplacement($folder, $replaceWith->filename);
         craft()->assets->storeFile($replaceWith);
     } else {
         // If the file name has not changed, we're reusing the source file,
         // so we have to prevent deletion of source file here.
         craft()->assets->deleteFiles($replaceWith->id, $filenameChanges);
     }
     craft()->assets->storeFile($oldFile);
 }
開發者ID:scisahaha,項目名稱:generator-craft,代碼行數:48,代碼來源:BaseAssetSourceType.php


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