1、服务器的 PHP 版本必须 >= 5.5 版本,我这里使用的是 PHP 7.0 版本;
2、下载 php-sdk 压缩版本,我这里下载的是 php-sdk-3.3.0.zip 版本;
3、把压缩包解压缩到 DeDeCMS 织梦的 include 目录下,如下图所示:
我这里把压缩包重命名为 upyun-php-sdk 了
如果是在 CentOS 上操作,则代码如下:
cp -r upyun-php-sdk /zls/server/apache/htdocs/www.baidu.com/zlslhxwww/include/ 即把 upyun-php-sdk 整个文件夹包括子文件夹和文件 复制到 include 目录下,复制后结构为 /include/upyun-php-sdk
4、打开 \include\dialog\select_images_post.php 文件,做如下修改:
$fullfilename = $cfg_basedir.$activepath."/".$filename;
修改为:
$fullfilename = $activepath."/".$filename; 或者 $fullfilename = '/'.md5($_SERVER['HTTP_HOST']).$activepath."/".$filename;
然后,在该语句下面增加如下语句块:
/* * $filename_name : 1-1ZF215300B29.jpg * $filename : 190702/1-1ZF2152U3440.jpg * $activepath : /uploads/allimg */ # 上传图片到又拍云存储 开始 require_once DEDEINC . "/upyun-php-sdk/vendor/autoload.php"; use Upyun\Upyun; use Upyun\Config; $serviceConfig = new Config('服务名称', '操作员账号', '操作员密码'); $serviceConfig->uploadType = 'AUTO'; $client = new Upyun($serviceConfig); $local_file_path = ''; $remote_file_path = '/'.md5($_SERVER['HTTP_HOST']).$activepath.'/'.$filename; $file = fopen($imgfile, 'r'); $client->write($remote_file_path, $file); print_r($client); # 上传图片到又拍云存储 结束
然后把如下语句块注释掉:
move_uploaded_file($imgfile, $fullfilename) or die("上传文件到 $fullfilename 失败!"); if($cfg_remote_site=='Y' && $remoteuploads == 1) { //分析远程文件路径 $remotefile = str_replace(DEDEROOT, '', $fullfilename); $localfile = '../..'.$remotefile; //创建远程文件夹 $remotedir = preg_replace('/[^\/]*\.(jpg|gif|bmp|png)/', '', $remotefile); $ftp->rmkdir($remotedir); $ftp->upload($localfile, $remotefile); }
这样就完成了整个过程了。
附带:
又拍云 php-sdk 地址: https://github.com/upyun/php-sdk/
又拍云 php-sdk 压缩版本下载地址: https://github.com/upyun/php-sdk/releases
php-sdk-3.3.0.zip 具体下载地址:https://github.com/upyun/php-sdk/releases/download/3.3.0/php-sdk-3.3.0.zip