图片处理 

类型
函数插件 » 下载图片
标识
ImgSkycaiji
下载
897次
更新
2021-10-03

功能:对接云存储接口,将图片上传至云存储平台

下载后在“采集器后台»设置»采集设置»图片本地化»使用函数”中选择“cloud”函数,参数可不传

然后下载安装 云存储 应用,在“采集器后台»云端»已下载»应用程序»云存储»设置”中配置好相关参数

完成以上操作即可实现图片云存储功能!

<?php
namespace plugin\func\downloadImg;

use plugin\skycaiji;
/**
 * 图片处理
 */
class ImgSkycaiji{
    
    /**
     * 图片云存储
     * @param string $filename 图片文件名
     * @param string $imgName 图片名称
     * @return string 返回新的图片链接,返回空值则不修改
     */
    public function cloud($filename,$imgName=null){
        static $setting;
        if(!isset($setting)){
            $settingFile=\plugin\skycaiji::data_path('app/cloud_storage/setting.php');
            if(file_exists($settingFile)){
                $settingFile=include $settingFile;
                $settingFile=json_decode(base64_decode($settingFile),true);
            }
            $setting=is_array($settingFile)?$settingFile:array();
        }
        
        $apiUrl=\plugin\skycaiji::app_url('cloud_storage/?s=/home/api/upload_img');//api接口
        $apiPost=array(
            'key'=>$setting['key'],
            'filename'=>$filename,
            'imgname'=>$imgName
        );
        
        $data=\plugin\skycaiji::curl($apiUrl,$apiPost);
        $url='';
        if($data['success']){
            $data=json_decode($data['content'],true);
            if(is_array($data)){
                if(empty($data['error'])&&!empty($data['url'])){
                    $url=$data['url'];
                    unlink($filename);//删除本地文件
                }
            }
        }
        $url=$url?$url:'';
        return $url;
    }
}
?>