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


PHP FileHelper::getMimeType方法代码示例

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


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

示例1: getFromUrl

 /**
  * Returns UploadFile created from url
  * Notice that this file cannot be saved by move_uploaded_file
  * @param $url
  * @throws \yii\base\InvalidConfigException
  */
 public static function getFromUrl($url)
 {
     $tmpFile = null;
     if (static::isExternalUrl($url)) {
         //External url
         $tmpFile = static::downloadToTmp($url);
     } else {
         //File must be in static folder
         $staticPath = Yii::getAlias('@static/');
         $path = str_replace(Yii::getAlias('@staticUrl/'), Yii::getAlias('@static/'), Yii::getAlias($url), $count);
         //If we can replace static url to path
         if ($count > 0) {
             //Check staticPath after normalize
             $path = FileHelper::normalizePath($path);
             if (strpos($path, $staticPath) === 0) {
                 if (file_exists($path)) {
                     $tmpFile = tempnam(sys_get_temp_dir(), 'CURL');
                     if (!copy($path, $tmpFile)) {
                         $tmpFile = null;
                     }
                 }
             }
         }
     }
     if ($tmpFile) {
         return new static(['name' => basename($url), 'tempName' => $tmpFile, 'type' => FileHelper::getMimeType($tmpFile), 'size' => filesize($tmpFile), 'error' => UPLOAD_ERR_OK]);
     }
     return null;
 }
开发者ID:maddoger,项目名称:yii2-filebehavior,代码行数:35,代码来源:FakeUploadedFile.php

示例2: toJson

 /**
  * @return string
  */
 public function toJson()
 {
     $toJson = [];
     foreach (FileHelper::findFiles($this->getPath()) as $this->_file) {
         $toJson = ArrayHelper::merge($toJson, [['title' => $this->normalizeFilename(), 'name' => FileHelper::getMimeType($this->_file), 'link' => $this->getUrl(), 'size' => $this->getSize()]]);
     }
     return Json::encode($toJson);
 }
开发者ID:apurey,项目名称:cmf,代码行数:11,代码来源:FileListModel.php

示例3: getImageFormat

 private function getImageFormat($fn)
 {
     $f = FileHelper::getMimeType($fn);
     if ($f === null) {
         throw new NotSupportedException("ImageBehavior - Неизвестный тип файла");
     }
     $this->_format = str_replace('image/', '', $f);
 }
开发者ID:kintastish,项目名称:mobil,代码行数:8,代码来源:ImageBehavior.php

示例4: determineExtension

 /**
  * @param $content
  *
  * @return mixed
  * @throws \yii\base\InvalidConfigException
  */
 protected function determineExtension($content)
 {
     $filename = \Yii::getAlias('@runtime/' . uniqid());
     file_put_contents($filename, $content);
     $mime = FileHelper::getMimeType($filename);
     $extensions = FileHelper::getExtensionsByMimeType($mime);
     unlink($filename);
     return ArrayHelper::getValue($extensions, max(count($extensions) - 1, 0));
 }
开发者ID:voodoo-mobile,项目名称:yii2-upload,代码行数:15,代码来源:Writer.php

示例5: init

 /**
  * @inheritdoc
  */
 public function init()
 {
     $this->tempName = $this->flowConfig->getTempDir() . DIRECTORY_SEPARATOR . $this->tempName;
     $this->error = file_exists($this->tempName) ? UPLOAD_ERR_OK : UPLOAD_ERR_NO_FILE;
     if ($this->error === UPLOAD_ERR_OK) {
         $this->type = FileHelper::getMimeType($this->tempName);
         $this->size = filesize($this->tempName);
     }
 }
开发者ID:cyhalothrin,项目名称:yiiflow,代码行数:12,代码来源:UploadedFile.php

示例6: upload

 public function upload()
 {
     // $this->getAttributes()
     $mime_type = \yii\helpers\FileHelper::getMimeType($this->file->tempName);
     if ($this->validate($mime_type)) {
         $this->file_path = 'uploads/' . $this->file->baseName . '.' . $this->file->extension;
         return $this->file->saveAs($this->file_path);
     } else {
         return false;
     }
 }
开发者ID:jepster,项目名称:yiipass,代码行数:11,代码来源:XmlUploadForm.php

示例7: createFromPath

 /**
  * Create file from path
  *
  * @param string $path Path in filesystem or URL
  * @param int $ownerId
  * @param int $ownerType
  * @param bool $saveAfterUpload Save the file immediately after upload
  * @param bool $protected File is protected?
  * @return \rkit\filemanager\models\File|bool
  */
 public function createFromPath($path, $ownerId = -1, $ownerType = -1, $saveAfterUpload = false, $protected = false)
 {
     $tempfile = tempnam(sys_get_temp_dir(), 'FMR');
     if ($filecontent = @file_get_contents($path)) {
         file_put_contents($tempfile, $filecontent);
         $pathInfo = pathinfo($path);
         $file = new File(['tmp' => true, 'owner_id' => $ownerId, 'owner_type' => $ownerType, 'size' => filesize($tempfile), 'mime' => FileHelper::getMimeType($tempfile), 'title' => $pathInfo['filename'], 'name' => File::generateName($pathInfo['extension']), 'protected' => $protected]);
         return $file->saveToTmp($tempfile, $saveAfterUpload, false);
     } else {
         throw new InvalidValueException('Unable to create from `' . $path . '`');
     }
 }
开发者ID:loveorigami,项目名称:filemanager-yii2,代码行数:22,代码来源:Decoder.php

示例8: uploadFile

 /**
  * Uploads the file into S3 in that bucket.
  *
  * @param string $filePath Full path of the file. Can be from tmp file path.
  * @param string $fileName Filename to save this file into S3. May include directories.
  * @param bool $bucket Override configured bucket.
  * @return bool|string The S3 generated url that is publicly-accessible.
  */
 public function uploadFile($filePath, $fileName, $bucket = false)
 {
     if (!$bucket) {
         $bucket = $this->bucket;
     }
     try {
         $result = $this->_client->putObject(['ACL' => 'public-read', 'Bucket' => $bucket, 'Key' => $fileName, 'SourceFile' => $filePath, 'ContentType' => \yii\helpers\FileHelper::getMimeType($filePath)]);
         return $result->get('ObjectURL');
     } catch (\Exception $e) {
         return false;
     }
 }
开发者ID:jayantakundu,项目名称:yii2-aws-s3,代码行数:20,代码来源:AmazonS3.php

示例9: makeUploadedFile

 /**
  * Create manually UploadedFile instance by file path
  *
  * @param string $path file path
  * @return UploadedFile
  */
 private function makeUploadedFile($path)
 {
     $tmpFile = tempnam(sys_get_temp_dir(), 'app');
     file_put_contents($tmpFile, file_get_contents($path));
     $uploadedFile = new UploadedFile();
     $uploadedFile->name = pathinfo($path, PATHINFO_BASENAME);
     $uploadedFile->tempName = $tmpFile;
     $uploadedFile->type = FileHelper::getMimeType($tmpFile);
     $uploadedFile->size = filesize($tmpFile);
     $uploadedFile->error = 0;
     return $uploadedFile;
 }
开发者ID:rkit,项目名称:bootstrap-yii2,代码行数:18,代码来源:SignupProviderForm.php

示例10: createFromUploadedFile

 public static function createFromUploadedFile(UploadedFile $file)
 {
     $upload = new static();
     $upload->mimetype = FileHelper::getMimeType($file->tempName);
     $upload->checksum = hash_file('sha256', $file->tempName);
     $upload->filename = $file->getBaseName() . '.' . $file->getExtension();
     $upload->filesize = $file->size;
     $upload->createContainerDir();
     $file->SaveAs($upload->getContainerDir() . '/' . $upload->filename);
     $upload->save();
     return $upload;
 }
开发者ID:joorloohuis,项目名称:bat-web-frontend,代码行数:12,代码来源:Upload.php

示例11: getInitialPreview

 public function getInitialPreview()
 {
     $initialPreview = [];
     $userTempDir = $this->getModule()->getUserDirPath();
     foreach (FileHelper::findFiles($userTempDir) as $file) {
         if (substr(FileHelper::getMimeType($file), 0, 5) === 'image') {
             $initialPreview[] = Html::img(['/attachments/file/download-temp', 'filename' => basename($file)], ['class' => 'file-preview-image']);
         } else {
             $initialPreview[] = Html::beginTag('div', ['class' => 'file-preview-other']) . Html::beginTag('h2') . Html::tag('i', '', ['class' => 'glyphicon glyphicon-file']) . Html::endTag('h2') . Html::endTag('div');
         }
     }
     foreach ($this->getFiles() as $file) {
         if (substr($file->mime, 0, 5) === 'image') {
             $initialPreview[] = Html::img($file->getUrl(), ['class' => 'file-preview-image']);
         } else {
             $initialPreview[] = Html::beginTag('div', ['class' => 'file-preview-other']) . Html::beginTag('h2') . Html::tag('i', '', ['class' => 'glyphicon glyphicon-file']) . Html::endTag('h2') . Html::endTag('div');
         }
     }
     return $initialPreview;
 }
开发者ID:phpsong,项目名称:ExtJS5-Yii2,代码行数:20,代码来源:FileBehavior.php

示例12: rules

 /**
  * @inheritdoc
  */
 public function rules()
 {
     return [[['file'], 'required'], [['file'], 'file', 'skipOnEmpty' => false], [['uploadPath'], 'required', 'when' => function ($obj) {
         return empty($obj->filename);
     }], [['name', 'size'], 'default', 'value' => function ($obj, $attribute) {
         return $obj->file->{$attribute};
     }], [['type'], 'default', 'value' => function () {
         return FileHelper::getMimeType($this->file->tempName);
     }], [['filename'], 'default', 'value' => function () {
         $key = md5(microtime() . $this->file->name);
         $base = Yii::getAlias($this->uploadPath);
         if ($this->directoryLevel > 0) {
             for ($i = 0; $i < $this->directoryLevel; ++$i) {
                 if (($prefix = substr($key, $i + $i, 2)) !== false) {
                     $base .= DIRECTORY_SEPARATOR . $prefix;
                 }
             }
         }
         return $base . DIRECTORY_SEPARATOR . "{$key}_{$this->file->name}";
     }], [['size'], 'integer'], [['name'], 'string', 'max' => 64], [['type'], 'string', 'max' => 32], [['filename'], 'string', 'max' => 256]];
 }
开发者ID:kotmonstr,项目名称:kotmonstr,代码行数:24,代码来源:FileModel.php

示例13: validateExtension

 public function validateExtension($attribute, $params)
 {
     $file = $this->{$attribute};
     $pathinfo = pathinfo(mb_strtolower($file->name, 'utf-8'));
     if (!empty($pathinfo['extension'])) {
         $extension = $pathinfo['extension'];
     } else {
         return false;
     }
     if ($this->checkExtensionByMimeType) {
         $mimeType = FileHelper::getMimeType($file->tempName, null, false);
         if ($mimeType === null) {
             return false;
         }
         if (!FileHelper::getMimeTypeByExtension($file)) {
             return false;
         }
     }
     if (!in_array($extension, $this->extensions, true)) {
         return false;
     }
     return true;
 }
开发者ID:SObS,项目名称:yii2-redactor,代码行数:23,代码来源:ImageUploadModel.php

示例14: save

 /**
  * Saves UploadedFile from fileData if exists and puts in it FileInfo
  * @return bool
  */
 public function save()
 {
     if (empty($this->uploadedFile)) {
         return $this->fileInfo ? true : false;
     }
     $file = $this->uploadedFile;
     $fileHash = md5_file($file->tempName);
     // just in case if file already exists
     $existingFileInfo = FileInfo::findOne(['hash' => $fileHash]);
     if ($existingFileInfo) {
         $this->fileInfo = $existingFileInfo;
         return true;
     }
     $filePath = Yii::getAlias('@files/' . $fileHash . '.' . $file->extension);
     if (!$file->saveAs($filePath)) {
         return false;
     }
     $mimeType = MimeType::findOne(['name' => FileHelper::getMimeType($filePath)]);
     $fileInfo = new FileInfo(['filePath' => $filePath, 'originalName' => $file->name, 'hash' => $fileHash, 'mimeTypeId' => $mimeType->id, 'size' => $file->size]);
     $result = $fileInfo->save();
     $this->fileInfo = $result ? $fileInfo : null;
     return $result;
 }
开发者ID:JiltImageBoard,项目名称:jilt-backend,代码行数:27,代码来源:PostedFile.php

示例15: upload

 /**
  * Загрузка файла. При успехе создание и сохранение модели Attachment
  * @return boolean
  */
 public function upload()
 {
     $ext = $this->file->extension;
     $origName = $this->file->baseName . '.' . $ext;
     $size = $this->file->size;
     $fileName = md5(uniqid()) . '.' . $ext;
     $path = $this->getUploadDir() . '/' . $fileName;
     if ($this->file->saveAs($path)) {
         // создаем и сохраняем модель Attachment
         $attachment = new Attachment();
         $attachment->document_id = $this->documentID;
         $attachment->origname = $origName;
         $attachment->filename = $fileName;
         $attachment->mimetype = FileHelper::getMimeType($path);
         $attachment->size = $size;
         if ($attachment->save()) {
             return true;
         } else {
             // если ничего не получилось, удаляем загруженный файл
             unlink($path);
         }
     }
     return false;
 }
开发者ID:2377635,项目名称:test,代码行数:28,代码来源:UploadForm.php


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