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


PHP MediaInterface::setBinaryContent方法代码示例

本文整理汇总了PHP中Sonata\MediaBundle\Model\MediaInterface::setBinaryContent方法的典型用法代码示例。如果您正苦于以下问题:PHP MediaInterface::setBinaryContent方法的具体用法?PHP MediaInterface::setBinaryContent怎么用?PHP MediaInterface::setBinaryContent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Sonata\MediaBundle\Model\MediaInterface的用法示例。


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

示例1: fixBinaryContent

 /**
  * {@inheritdoc}
  */
 protected function fixBinaryContent(MediaInterface $media)
 {
     if (!$media->getBinaryContent()) {
         return;
     }
     if (preg_match("/vimeo\\.com\\/(\\d+)/", $media->getBinaryContent(), $matches)) {
         $media->setBinaryContent($matches[1]);
     }
 }
开发者ID:serialken,项目名称:BugTracker,代码行数:12,代码来源:VimeoProvider.php

示例2: fixBinaryContent

 /**
  * {@inheritdoc}
  */
 protected function fixBinaryContent(MediaInterface $media)
 {
     if (!$media->getBinaryContent()) {
         return;
     }
     if (preg_match("/(?<=v(\\=|\\/))([-a-zA-Z0-9_]+)|(?<=youtu\\.be\\/)([-a-zA-Z0-9_]+)/", $media->getBinaryContent(), $matches)) {
         $media->setBinaryContent($matches[2]);
     }
 }
开发者ID:rmzamora,项目名称:SonataMediaBundle,代码行数:12,代码来源:YouTubeProvider.php

示例3: fixBinaryContent

 /**
  * {@inheritdoc}
  */
 protected function fixBinaryContent(MediaInterface $media)
 {
     if (!$media->getBinaryContent()) {
         return;
     }
     if (strlen($media->getBinaryContent()) === 11) {
         return;
     }
     if (preg_match("/^(?:http(?:s)?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:(?:watch)?\\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user)\\/))([^\\#\\?&\"'>]+)/", $media->getBinaryContent(), $matches)) {
         $media->setBinaryContent($matches[1]);
     }
 }
开发者ID:rapemer,项目名称:init-cms-bundle,代码行数:15,代码来源:YouTubeProvider.php

示例4: fixBinaryContent

 /**
  * {@inheritdoc}
  */
 protected function fixBinaryContent(MediaInterface $media)
 {
     if (!$media->getBinaryContent()) {
         return;
     }
     if (strlen($media->getBinaryContent()) === 11) {
         return;
     }
     if (preg_match("/videos\\.sapo\\.pt\\/([A-Za-z0-9]+)(\\/mov\\/)?/", $media->getBinaryContent(), $matches)) {
         $media->setBinaryContent($matches[1]);
     }
 }
开发者ID:NadirZenith,项目名称:NzSonataMediaBundle,代码行数:15,代码来源:SoundcloudProvider.php

示例5: fixBinaryContent

 /**
  * {@inheritdoc}
  */
 protected function fixBinaryContent(MediaInterface $media)
 {
     if (!$media->getBinaryContent()) {
         return;
     }
     if (strpos($media->getBinaryContent(), '|') !== FALSE) {
         return;
     }
     if (preg_match('/(?:config\\.|player\\.)?playwire.com\\/(\\d+)\\/videos\\/v2\\/(\\d+)\\//', $media->getBinaryContent(), $matches)) {
         $binary = sprintf('%d|%d', $matches[1], $matches[2]);
         $media->setBinaryContent($binary);
     }
 }
开发者ID:NadirZenith,项目名称:NzSonataMediaBundle,代码行数:16,代码来源:PlayWireProvider.php

示例6: generateBinaryFromRequest

 /**
  * Set media binary content according to request content.
  *
  * @param MediaInterface $media
  */
 protected function generateBinaryFromRequest(MediaInterface $media)
 {
     if (php_sapi_name() === 'cli') {
         throw new \RuntimeException('The current process cannot be executed in cli environment');
     }
     if (!$media->getContentType()) {
         throw new \RuntimeException('You must provide the content type value for your media before setting the binary content');
     }
     $request = $media->getBinaryContent();
     if (!$request instanceof Request) {
         throw new \RuntimeException('Expected Request in binary content');
     }
     $content = $request->getContent();
     // create unique id for media reference
     $guesser = ExtensionGuesser::getInstance();
     $extension = $guesser->guess($media->getContentType());
     if (!$extension) {
         throw new \RuntimeException(sprintf('Unable to guess extension for content type %s', $media->getContentType()));
     }
     $handle = tmpfile();
     fwrite($handle, $content);
     $file = new ApiMediaFile($handle);
     $file->setExtension($extension);
     $file->setMimetype($media->getContentType());
     $media->setBinaryContent($file);
 }
开发者ID:kea,项目名称:SonataMediaBundle,代码行数:31,代码来源:FileProvider.php

示例7: fixBinaryContent

 /**
  * @throws \RuntimeException
  *
  * @param \Sonata\MediaBundle\Model\MediaInterface $media
  *
  * @return
  */
 protected function fixBinaryContent(MediaInterface $media)
 {
     if ($media->getBinaryContent() === null) {
         return;
     }
     // if the binary content is a filename => convert to a valid File
     if (!$media->getBinaryContent() instanceof File) {
         if (!is_file($media->getBinaryContent())) {
             throw new \RuntimeException('The file does not exist : ' . $media->getBinaryContent());
         }
         $binaryContent = new File($media->getBinaryContent());
         $media->setBinaryContent($binaryContent);
     }
 }
开发者ID:ingeniorweb,项目名称:symfo3cv,代码行数:21,代码来源:FileProvider.php


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