Ckfinder3+Oss 实现文件上传 防出错实战教程(三)Oss上传篇

本文介绍了如何在CKFinder 3中整合阿里云OSS SDK,通过简单的步骤实现PHP项目中的文件上传,包括引入类、配置OSS参数和调用上传方法。适合开发者快速上手操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、去阿里云下载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 实现文件上传的方法,是不是很简单,喜欢的话点个赞吧,谢谢支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值