123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <?php
- // +----------------------------------------------------------------------
- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2013-2018 http://www.thinkcmf.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- // +---------------------------------------------------------------------
- // | Author: Dean <zxxjjforever@163.com>
- // +----------------------------------------------------------------------
- namespace cmf\lib\storage;
- class Local
- {
- private $config;
- /**
- * Local constructor.
- * @param $config
- */
- public function __construct($config)
- {
- $this->config = $config;
- }
- /**
- * 文件上传
- * @param string $file 上传文件路径
- * @param string $filePath 文件路径相对于upload目录
- * @param string $fileType 文件类型,image,video,audio,file
- * @param array $param 额外参数
- * @return mixed
- */
- public function upload($file, $filePath = '', $fileType = 'image', $param = null)
- {
- return [
- 'preview_url' => $this->getPreviewUrl($file),
- 'url' => $this->getUrl($file),
- ];
- }
- /**
- * 获取图片地址
- * @param string $file
- * @param string $style
- * @return mixed
- */
- public function getImageUrl($file, $style = '')
- {
- return $this->_getWebRoot() . '/upload/' . $file;
- }
- /**
- * 获取图片预览地址
- * @param string $file
- * @param string $style
- * @return mixed
- */
- public function getPreviewUrl($file, $style = '')
- {
- return $this->_getWebRoot() . '/upload/' . $file;
- }
- /**
- * 获取文件地址
- * @param string $file
- * @param string $style
- * @return mixed
- */
- public function getUrl($file, $style = '')
- {
- return $this->_getWebRoot() . '/upload/' . $file;
- }
- /**
- * 获取文件下载地址
- * @param string $file
- * @param int $expires
- * @return mixed
- */
- public function getFileDownloadUrl($file, $expires = 3600)
- {
- $url = $this->getUrl($file);
- return $url;
- }
- /**
- * 获取本地存储域名
- * @return mixed
- */
- public function getDomain()
- {
- return request()->host();
- }
- /**
- * 获取文件相对上传目录路径
- * @param string $url
- * @return mixed
- */
- public function getFilePath($url)
- {
- $storageDomain = $this->getDomain();
- $url = preg_replace("/^http(s)?:\/\/$storageDomain/", '', $url);
- $url = preg_replace("/^\/upload\//", '', $url);
- return $url;
- }
- private function _getWebRoot()
- {
- return STATICSITE;
- }
- }
|