当前位置: 首页>>代码示例>>PHP>>正文


PHP Resource\FileInterface类代码示例

本文整理汇总了PHP中TYPO3\CMS\Core\Resource\FileInterface的典型用法代码示例。如果您正苦于以下问题:PHP FileInterface类的具体用法?PHP FileInterface怎么用?PHP FileInterface使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了FileInterface类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: render

 /**
  * Create a link to a file that forces a download
  *
  * @param \TYPO3\CMS\Core\Resource\FileInterface $file
  * @param bool $uriOnly
  * @return string
  */
 public function render(\TYPO3\CMS\Core\Resource\FileInterface $file, $uriOnly = FALSE)
 {
     $queryParameterArray = array('eID' => 'dumpFile', 't' => '');
     if ($file instanceof \TYPO3\CMS\Core\Resource\File) {
         $queryParameterArray['f'] = $file->getUid();
         $queryParameterArray['t'] = 'f';
     } elseif ($file instanceof \TYPO3\CMS\Core\Resource\ProcessedFile) {
         $queryParameterArray['p'] = $file->getUid();
         $queryParameterArray['t'] = 'p';
     }
     $queryParameterArray['token'] = \TYPO3\CMS\Core\Utility\GeneralUtility::hmac(implode('|', $queryParameterArray), 'resourceStorageDumpFile');
     $queryParameterArray['download'] = '';
     $uri = 'index.php?' . str_replace('+', '%20', http_build_query($queryParameterArray));
     // Add absRefPrefix
     if (!empty($GLOBALS['TSFE'])) {
         $uri = $GLOBALS['TSFE']->absRefPrefix . $uri;
     }
     if ($uriOnly) {
         return $uri;
     }
     $this->tag->addAttribute('href', $uri);
     $this->tag->setContent($this->renderChildren());
     $this->tag->forceClosingTag(TRUE);
     return $this->tag->render();
 }
开发者ID:camrun91,项目名称:fal_securedownload,代码行数:32,代码来源:DownloadLinkViewHelper.php

示例2: getCroppedWidth

 /**
  * When retrieving the width for a media file
  * a possible cropping needs to be taken into account.
  *
  * @param FileInterface $fileObject
  * @return int
  */
 protected function getCroppedWidth(FileInterface $fileObject)
 {
     if (!$fileObject->hasProperty('crop') || empty($fileObject->getProperty('crop'))) {
         return $fileObject->getProperty('width');
     }
     $croppingConfiguration = json_decode($fileObject->getProperty('crop'), true);
     return (int) $croppingConfiguration['width'];
 }
开发者ID:mmunz,项目名称:c1_fsc_slider,代码行数:15,代码来源:FscSliderProcessor.php

示例3: getCroppedProperty

 /**
  * When retrieving the height or width for a media file
  * a possible cropping needs to be taken into account.
  *
  * @param  FileInterface $fileObject
  * @param  string        $dimensionalProperty 'width' or 'height'
  * @return int
  */
 protected function getCroppedProperty(FileInterface $fileObject, $dimensionalProperty)
 {
     if (!$fileObject->hasProperty('crop') || empty($fileObject->getProperty('crop'))) {
         return $fileObject->getProperty($dimensionalProperty);
     }
     $croppingConfiguration = json_decode($fileObject->getProperty('crop'), true);
     return (int) $croppingConfiguration[$dimensionalProperty];
 }
开发者ID:qbus-agentur,项目名称:qbtools,代码行数:16,代码来源:CalculateBoundsViewHelper.php

示例4: getImageUri

 /**
  * Get public url of image depending on the environment
  *
  * @param FileInterface $image
  * @return string
  * @api
  */
 public function getImageUri(FileInterface $image)
 {
     if ($this->environmentService->isEnvironmentInFrontendMode()) {
         $uriPrefix = $GLOBALS['TSFE']->absRefPrefix;
     } else {
         $uriPrefix = '../';
     }
     return $uriPrefix . $image->getPublicUrl();
 }
开发者ID:allipierre,项目名称:Typo3,代码行数:16,代码来源:ImageService.php

示例5: populateMetadata

 public function populateMetadata(\TYPO3\CMS\Core\Resource\FileInterface $file, \TYPO3\CMS\Core\Resource\Folder $folder)
 {
     $qualities = GeneralUtility::makeInstance(CalculateService::class)->quality($file->getUid());
     $message = '';
     foreach ($qualities as $key => $value) {
         $message .= $key . ' => ' . $value . "\n";
     }
     $this->flash($message);
 }
开发者ID:ksjogo,项目名称:typo3-ext-semantic-images,代码行数:9,代码来源:FileUpload.php

示例6: extractMetaData

 /**
  * Takes a file reference and extracts its meta data.
  *
  * @param \TYPO3\CMS\Core\Resource\FileInterface $file
  * @return array
  */
 public function extractMetaData(FileInterface $file)
 {
     $localTempFilePath = $file->getForLocalProcessing(FALSE);
     $query = GeneralUtility::makeInstance('ApacheSolrForTypo3\\Tika\\Service\\Tika\\SolrCellQuery', $localTempFilePath);
     $query->setExtractOnly();
     $response = $this->solr->extract($query);
     $metaData = $this->solrResponseToArray($response[1]);
     $this->cleanupTempFile($localTempFilePath, $file);
     $this->log('Meta Data Extraction using Solr', array('file' => $file, 'solr connection' => (array) $this->solr, 'query' => (array) $query, 'response' => $response, 'meta data' => $metaData));
     return $metaData;
 }
开发者ID:visol,项目名称:ext-tika,代码行数:17,代码来源:SolrCellService.php

示例7: getImageUri

 /**
  * Get public url of image depending on the environment
  *
  * @param FileInterface $image
  * @return string
  * @api
  */
 public function getImageUri(FileInterface $image)
 {
     $imageUrl = $image->getPublicUrl();
     // no prefix in case of an already fully qualified URL (having a schema)
     if (strpos($imageUrl, '://')) {
         $uriPrefix = '';
     } elseif ($this->environmentService->isEnvironmentInFrontendMode()) {
         $uriPrefix = $GLOBALS['TSFE']->absRefPrefix;
     } else {
         $uriPrefix = '../';
     }
     return $uriPrefix . $imageUrl;
 }
开发者ID:Mr-Robota,项目名称:TYPO3.CMS,代码行数:20,代码来源:ImageService.php

示例8: render

 /**
  * Render for given File(Reference) HTML output
  *
  * @param FileInterface $file
  * @param int|string $width TYPO3 known format; examples: 220, 200m or 200c
  * @param int|string $height TYPO3 known format; examples: 220, 200m or 200c
  * @param array $options controls = TRUE/FALSE (default TRUE), autoplay = TRUE/FALSE (default FALSE), loop = TRUE/FALSE (default FALSE)
  * @param bool $usedPathsRelativeToCurrentScript See $file->getPublicUrl()
  * @return string
  */
 public function render(FileInterface $file, $width, $height, array $options = array(), $usedPathsRelativeToCurrentScript = FALSE)
 {
     $additionalAttributes = array();
     if (!isset($options['controls']) || !empty($options['controls'])) {
         $additionalAttributes[] = 'controls';
     }
     if (!empty($options['autoplay'])) {
         $additionalAttributes[] = 'autoplay';
     }
     if (!empty($options['loop'])) {
         $additionalAttributes[] = 'loop';
     }
     return sprintf('<video width="%d" height="%d"%s><source src="%s" type="%s"></video>', (int) $width, (int) $height, empty($additionalAttributes) ? '' : ' ' . implode(' ', $additionalAttributes), htmlspecialchars($file->getPublicUrl($usedPathsRelativeToCurrentScript)), $file->getMimeType());
 }
开发者ID:plan2net,项目名称:TYPO3.CMS,代码行数:24,代码来源:VideoTagRenderer.php

示例9: getImageUri

 /**
  * Get public url of image depending on the environment
  *
  * @param FileInterface $image
  * @return string
  * @api
  */
 public function getImageUri(FileInterface $image)
 {
     $imageUrl = $image->getPublicUrl();
     // no prefix in case of an already fully qualified URL (having a schema)
     // We need to fix the dection for PHP 5.4.6 and below as the host detection is broken
     if (parse_url($imageUrl, PHP_URL_HOST) !== NULL || strpos($imageUrl, '//') === 0) {
         $uriPrefix = '';
     } elseif ($this->environmentService->isEnvironmentInFrontendMode()) {
         $uriPrefix = $GLOBALS['TSFE']->absRefPrefix;
     } else {
         $uriPrefix = GeneralUtility::getIndpEnv('TYPO3_SITE_PATH');
     }
     return $uriPrefix . $imageUrl;
 }
开发者ID:khanhdeux,项目名称:typo3test,代码行数:21,代码来源:ImageService.php

示例10: extractText

 /**
  * The actual text extraction.
  *
  * @param FileInterface $file
  * @return string
  */
 public function extractText(FileInterface $file)
 {
     $localTempFile = $file->getForLocalProcessing(false);
     // extract text
     $content = file_get_contents($localTempFile);
     // In case of remote storage, the temporary copy of the
     // original file in typo3temp must be removed
     // Simply compare the filenames, because the filename is so unique that
     // it is nearly impossible to have a file with this name in a storage
     if (PathUtility::basename($localTempFile) !== $file->getName()) {
         unlink($localTempFile);
     }
     return $content;
 }
开发者ID:rickymathew,项目名称:TYPO3.CMS,代码行数:20,代码来源:PlainTextExtractor.php

示例11: render

 /**
  * Render for given File(Reference) html output
  *
  * @param FileInterface $file
  * @param int|string $width TYPO3 known format; examples: 220, 200m or 200c
  * @param int|string $height TYPO3 known format; examples: 220, 200m or 200c
  * @param array $options
  * @param bool $usedPathsRelativeToCurrentScript See $file->getPublicUrl()
  * @return string
  */
 public function render(FileInterface $file, $width, $height, array $options = null, $usedPathsRelativeToCurrentScript = false)
 {
     if ($file instanceof FileReference) {
         $autoplay = $file->getProperty('autoplay');
         if ($autoplay !== null) {
             $options['autoplay'] = $autoplay;
         }
     }
     $urlParams = array();
     if (!empty($options['autoplay'])) {
         $urlParams[] = 'auto_play=1';
     }
     if ($file instanceof FileReference) {
         $orgFile = $file->getOriginalFile();
     } else {
         $orgFile = $file;
     }
     $soundCloudId = $this->getOnlineMediaHelper($file)->getOnlineMediaId($orgFile);
     $src = sprintf('//w.soundcloud.com/player/?url=%s?%s', urlencode('https://api.soundcloud.com/tracks/' . $soundCloudId), implode('&amp;', $urlParams));
     foreach (['class', 'dir', 'id', 'lang', 'style', 'title', 'accesskey', 'tabindex', 'onclick'] as $key) {
         if (!empty($options[$key])) {
             $attributes[] = $key . '="' . htmlspecialchars($options[$key]) . '"';
         }
     }
     return sprintf('<iframe src="%s"%s></iframe>', $src, empty($attributes) ? '' : ' ' . implode(' ', $attributes));
 }
开发者ID:martinpfister,项目名称:manuel,代码行数:36,代码来源:SoundCloudRenderer.php

示例12: createMagicImage

 /**
  * Creates a magic image
  *
  * @param \TYPO3\CMS\Core\Resource\FileInterface $imageFileObject: the original image file
  * @param array $fileConfiguration (width, height, maxW, maxH)
  * @param string $targetFolderCombinedIdentifier: target folder combined identifier
  * @return \TYPO3\CMS\Core\Resource\FileInterface
  */
 public function createMagicImage(\TYPO3\CMS\Core\Resource\FileInterface $imageFileObject, array $fileConfiguration, $targetFolderCombinedIdentifier)
 {
     $magicImage = NULL;
     // Get file for processing
     $imageFilePath = $imageFileObject->getForLocalProcessing(TRUE);
     // Process dimensions
     $maxWidth = \TYPO3\CMS\Core\Utility\MathUtility::forceIntegerInRange($fileConfiguration['width'], 0, $fileConfiguration['maxW']);
     $maxHeight = \TYPO3\CMS\Core\Utility\MathUtility::forceIntegerInRange($fileConfiguration['height'], 0, $fileConfiguration['maxH']);
     if (!$maxWidth) {
         $maxWidth = $fileConfiguration['maxW'];
     }
     if (!$maxHeight) {
         $maxHeight = $fileConfiguration['maxH'];
     }
     // Create the magic image
     $magicImageInfo = $this->getImageObject()->imageMagickConvert($imageFilePath, 'WEB', $maxWidth . 'm', $maxHeight . 'm');
     if ($magicImageInfo[3]) {
         $targetFileName = 'RTEmagicC_' . pathInfo($imageFileObject->getName(), PATHINFO_FILENAME) . '.' . pathinfo($magicImageInfo[3], PATHINFO_EXTENSION);
         $magicFolder = $this->getMagicFolder($targetFolderCombinedIdentifier);
         if ($magicFolder instanceof \TYPO3\CMS\Core\Resource\Folder) {
             $magicImage = $magicFolder->addFile($magicImageInfo[3], $targetFileName, 'changeName');
         }
     }
     return $magicImage;
 }
开发者ID:noxludo,项目名称:TYPO3v4-Core,代码行数:33,代码来源:MagicImageService.php

示例13: generatePublicUrl

 /**
  * Generate public url for file
  *
  * @param Resource\ResourceStorage $storage
  * @param Resource\Driver\DriverInterface $driver
  * @param Resource\FileInterface $file
  * @param $relativeToCurrentScript
  * @param array $urlData
  * @return void
  */
 public function generatePublicUrl(Resource\ResourceStorage $storage, Resource\Driver\DriverInterface $driver, Resource\FileInterface $file, $relativeToCurrentScript, array $urlData)
 {
     // We only render special links for non-public files
     if ($this->enabled && !$storage->isPublic()) {
         $queryParameterArray = array('eID' => 'dumpFile', 't' => '');
         if ($file instanceof Resource\File) {
             $queryParameterArray['f'] = $file->getUid();
             $queryParameterArray['t'] = 'f';
         } elseif ($file instanceof Resource\ProcessedFile) {
             $queryParameterArray['p'] = $file->getUid();
             $queryParameterArray['t'] = 'p';
         }
         $queryParameterArray['token'] = GeneralUtility::hmac(implode('|', $queryParameterArray), 'BeResourceStorageDumpFile');
         // $urlData['publicUrl'] is passed by reference, so we can change that here and the value will be taken into account
         $urlData['publicUrl'] = BackendUtility::getAjaxUrl('FalSecuredownload::publicUrl', $queryParameterArray);
     }
 }
开发者ID:camrun91,项目名称:fal_securedownload,代码行数:27,代码来源:PublicUrlAspect.php

示例14: getCroppedImageSrcByFile

 /**
  * Get the cropped image by File Object
  *
  * @param FileInterface $file
  * @param string        $ratio
  *
  * @return string The new filename
  */
 public function getCroppedImageSrcByFile(FileInterface $file, $ratio)
 {
     $absoluteImageName = GeneralUtility::getFileAbsFileName($file->getPublicUrl());
     $focusPointX = MathUtility::forceIntegerInRange((int) $file->getProperty('focus_point_x'), -100, 100, 0);
     $focusPointY = MathUtility::forceIntegerInRange((int) $file->getProperty('focus_point_y'), -100, 100, 0);
     $tempImageFolder = 'typo3temp/focuscrop/';
     $tempImageName = $tempImageFolder . $file->getSha1() . '-' . str_replace(':', '-', $ratio) . '-' . $focusPointX . '-' . $focusPointY . '.' . $file->getExtension();
     $absoluteTempImageName = GeneralUtility::getFileAbsFileName($tempImageName);
     if (is_file($absoluteTempImageName)) {
         return $tempImageName;
     }
     $absoluteTempImageFolder = GeneralUtility::getFileAbsFileName($tempImageFolder);
     if (!is_dir($absoluteTempImageFolder)) {
         GeneralUtility::mkdir_deep($absoluteTempImageFolder);
     }
     $this->graphicalFunctions = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Imaging\\GraphicalFunctions');
     $imageSizeInformation = getimagesize($absoluteImageName);
     $width = $imageSizeInformation[0];
     $height = $imageSizeInformation[1];
     // dimensions
     /** @var \HDNET\Focuspoint\Service\DimensionService $service */
     $dimensionService = GeneralUtility::makeInstance('HDNET\\Focuspoint\\Service\\DimensionService');
     list($focusWidth, $focusHeight) = $dimensionService->getFocusWidthAndHeight($width, $height, $ratio);
     $cropMode = $dimensionService->getCropMode($width, $height, $ratio);
     list($sourceX, $sourceY) = $dimensionService->calculateSourcePosition($cropMode, $width, $height, $focusWidth, $focusHeight, $focusPointX, $focusPointY);
     // generate image
     $sourceImage = $this->graphicalFunctions->imageCreateFromFile($absoluteImageName);
     $destinationImage = imagecreatetruecolor($focusWidth, $focusHeight);
     $this->graphicalFunctions->imagecopyresized($destinationImage, $sourceImage, 0, 0, $sourceX, $sourceY, $focusWidth, $focusHeight, $focusWidth, $focusHeight);
     $this->graphicalFunctions->ImageWrite($destinationImage, $absoluteTempImageName, $GLOBALS['TYPO3_CONF_VARS']['GFX']['jpg_quality']);
     return $tempImageName;
 }
开发者ID:shugden,项目名称:focuspoint,代码行数:40,代码来源:FocusCropService.php

示例15: getImageUri

 /**
  * Get public url of image depending on the environment
  *
  * @param FileInterface $image
  * @param bool|FALSE $absolute Force absolute URL
  * @return string
  * @api
  */
 public function getImageUri(FileInterface $image, $absolute = false)
 {
     $imageUrl = $image->getPublicUrl();
     $parsedUrl = parse_url($imageUrl);
     // no prefix in case of an already fully qualified URL
     if (isset($parsedUrl['host'])) {
         $uriPrefix = '';
     } elseif ($this->environmentService->isEnvironmentInFrontendMode()) {
         $uriPrefix = $GLOBALS['TSFE']->absRefPrefix;
     } else {
         $uriPrefix = GeneralUtility::getIndpEnv('TYPO3_SITE_PATH');
     }
     if ($absolute) {
         // If full URL has no scheme we add the same scheme as used by the site
         // so we have an absolute URL also usable outside of browser scope (e.g. in an email message)
         if (isset($parsedUrl['host']) && !isset($parsedUrl['scheme'])) {
             $uriPrefix = (GeneralUtility::getIndpEnv('TYPO3_SSL') ? 'https:' : 'http:') . $uriPrefix;
         }
         return GeneralUtility::locationHeaderUrl($uriPrefix . $imageUrl);
     } else {
         return $uriPrefix . $imageUrl;
     }
 }
开发者ID:rickymathew,项目名称:TYPO3.CMS,代码行数:31,代码来源:ImageService.php


注:本文中的TYPO3\CMS\Core\Resource\FileInterface类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。