Qiniu云

摘要:Qiniu云,安装、配置、开发

composer 安装sdk

composer require require qiniu/php-sdk #要求使用php7.2否则安装失败 

GitHub源码安装

https://github.com/qiniu/php-sdk 下载 #这里主要使用本方法 ,如果git下载较慢可以使用下载zip的方式直接浏览器下载

安装配置

use Qiniu\Auth; 
... ... 
require '/../vendor/qiniu/autoload.php'; 
$accessKey = 'Access_Key'; 
$secretKey = 'Secret_Key'; 
// 初始化签权对象 
$auth = new Auth($accessKey, $secretKey); 
$expires = 3600;
 $policy = null; 
$bucket = ''; 
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true); 
dd($upToken); 
可以看到已经成功打印了凭证,所以说明SDK已经在工作了安装完成。 
优化: 
这样使用require不优雅,可以利用composer自动加载机制进行设置 在autoload下的psr-4下面配置加载规则

   "files": [
            "vendor/qiniu/autoload.php"
        ]
重新生成加载文件
composer dump-auto  #The Process class relies on proc_open, which is not available on your PHP installation. 说明函数被禁用了,去修改php.ini中的disable_function
测试同样可以工作 

应用

富文本编辑器

WangEditor2

在全局配置中增加

editor.config.uploadImgUrl='/posts/image/upload'; 即可直接使用
Ueditor
在全局配置中修改serverUrl,或者修改ueditor.config.js中的serverUrl
在新的php或者controller.php(文件提交的url)中,抓包可以看到上传单张图的时候会是新的url后跟一个get方式的参数action,初始是config这时候需要将配置的json数据传递回前台,上床图片uploadimage 此时可以进行单独上传操作。注意返回格式统一为json
$CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents("config.json")), true);
$action = $_GET['action'];

if($action == 'config'){
    $result =  json_encode($CONFIG);
    echo $result;
}else{
     $test_json = '{"state":"SUCCESS","url":"\/ueditor\/php\/upload\/image\/20190620\/1561001504.jpg","title":"1561001504.jpg","original":"molybdenum.jpg","type":".jpg","size":4962}';
     echo $test_json;
    // echo json_encode($_FILES);  # 可以参考上面的test_json 上传七牛后构建这样的json返回,就可以正常使用
}

图片水印

1、对象存储->图片样式
2、可设置文字或者图案,这里使用的是文字
3、图片增加水印
     a、在文件的url后跟上-font 这里的font是图片处理样式名称
     b、在文件的url后跟上get参数? 后跟处理代码,在后台生成
     imageView2/0/q/75|watermark/2/text/6YOt5LiW6ZGr55qE5Liq5Lq65Y2a5a6i/font/5qW35L2T/fontsize/500/fill/I0YyMTUzNA==/dissolve/100/gravity/SouthEast/dx/6/dy/6
4、误区,在上传的时候直接修改了key,但是不起作用,因为key是新的文件名,并不是最终的url,要在最终的url后面做如上的处理,在key中写就会将如上的文案放到文件名中。
评论