一、去阿里云下载oss sdk 我用的是php
二、放入自己的项目中,位置自己看着来吧,每个人的项目也不同,我只做个演示如下图我放的位置
当一个插件来使用,放在plugins下
三,引用oss。打开ckfinder 下的文件路径 (win10 路径如下)ckfinder\core\connector\php\vendor\cksource\ckfinder\src\CKSource\CKFinder\Command\FileUpload.php
1、开头引入类名
use OSS\OssClient;
use OSS\Core\OssException;
2、往下找到 $responseData= [ 这个地方,在下面添加代码,
如上图位置,添加 代码,自己根据自己项目的文件地址写
// 判断是否是图片类型 如果只设置一个文件类型,此处判断代码忽略 $directory统一为images即可
if($uploadedFile->isImage()){
$directory="images";
}else{
$directory="files";
}
$object = 'uploads/'.date('Ymd').'/'.$directory.'/'.$fileName;
$filePath=$_SERVER['DOCUMENT_ROOT'].'/uploads/'.date('Ymd').'/'.$directory.'/'.$fileName;
$this->upload_oss_file($object,$filePath);
好了,最后我们参考阿里云oss sdk 上传文件写一个方法(拷贝官方即可),添加在FileUpload.php 该类末尾 “}” 之前
public function upload_oss_file($object,$filePath){
require_once ($_SERVER['DOCUMENT_ROOT'].'/config/alioss_config.php');
require_once ($_SERVER['DOCUMENT_ROOT']'/plugins/aliyunoss/autoload.php');
$accessKeyId = "";//填在阿云申请的信息
$accessKeySecret = "";//填在阿云申请的信息
$endpoint = "";//填在阿云申请的信息
$bucket="";//填在阿云申请的信息
try{
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->uploadFile($bucket, $object, $filePath);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
}
// print(__FUNCTION__ . "OK" . "\n");
我们上传一张图片测试下,上传后,可以在本地文件夹和阿里oss文件夹找到上传的文件
ckfinder3+oss php版 实现文件上传
以上就是ckfinder3 整合阿里oss 实现文件上传的方法,是不是很简单,喜欢的话点个赞吧,谢谢支持!