1. composer 阿里云oss
composer require aliyuncs/oss-sdk-php
2.修改ueditor文件
Uploader.class.php
2.1 引入
require_once realpath(dirname(__FILE__) . '/../../../../../') . '/vendor/aliyuncs/oss-sdk-php/autoload.php';//(我的根目录不是在public中,如果你的是的,去掉一个../)
use OSS\OssClient as AliOssClient;
注释掉以下代码
新增代码
//oss设置
$ossconfig = [
'KeyId' => 'LTAI356wrww4PrUs', //您的Access Key ID
'KeySecret' => '***************', //您的Access Key Secret
'Endpoint' => 'oss-cn-beijing.aliyuncs.com', //阿里云oss 外网地址endpoint
'Bucket' => 'zf-demo-test', //Bucket名称
];
//获取文件后缀
$file_type = substr($this->filePath, strrpos($this->filePath, '.'));
//得到今天日期
$today = date('Ymd', time());
//得到文件名
$file_name = 'image/'.$today.'/'.$this->fileName;
//$ossconfig为获取OSS的配置信息
//$ossconfig = $this->getOssApi();
//实例化OSS
$ossClient = new AliOssClient($ossconfig['KeyId'], $ossconfig['KeySecret'], $ossconfig['Endpoint']);
try {
//执行阿里云上传
$result = $ossClient->uploadFile($ossconfig['Bucket'],'demo_zf_test/upload/'. $file_name, $file["tmp_name"]);
//赋给图片路径(原代码)
// $this->fullName = $result['info']['url'];
//获得上传之后访问该图片的路径
$endpoint = str_replace('http://', '', $ossconfig['Endpoint']);
$this->ossimgurl = "https://".$ossconfig['Bucket'].".".$endpoint."/".$file_name;//ossimgurl这是自定义属性,避免以ueditor方式获得图片地址
$this->stateInfo = $this->stateMap[0];
} catch (OssException $e) {
// $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
//将错误信息修改为阿里云上传失败的错误信息
$this->stateInfo = $e->getMessage();
}
config.json
"imageUrlPrefix": "https://zf-demo-test.oss-cn-beijing.aliyuncs.com", /* 图片访问路径前缀 */
"imagePathFormat": "/demo_zf_test/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */