云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

如何在DedeCMS中远程上传图片到服务器?

在Dedecms中,通过FTP或远程服务器配置,可以实现远程发布图片到服务器。

在Dedecms(织梦内容管理系统)中,远程发布图片到服务器是一项常见需求,通过配置和使用不同的云存储服务,可以实现这一功能,以下是关于如何将图片从本地上传到远程服务器的详细步骤和相关FAQs:

使用又拍云存储

1、准备工作

确保服务器的PHP版本 >= 5.5,推荐使用PHP 7.0。

下载并解压缩phpsdk压缩包(例如phpsdk3.3.0.zip),并将其复制到Dedecms的include目录下。

2、修改文件

打开/include/dialog/select_images_post.php文件,找到并修改以下代码段:

     $fullfilename = $cfg_basedir.$activepath."/".$filename;

修改为:

     $fullfilename = $activepath."/".$filename;

或者:

     $fullfilename = '/'.md5($_SERVER['HTTP_HOST']).$activepath."/".$filename;

在该语句下面增加如下代码块:

     /*
      * $filename_name : 11ZF215300B29.jpg
      * $filename : 190702/11ZF2152U3440.jpg
      * $activepath : /uploads/allimg
      */
     # 上传图片到又拍云存储 开始
     require_once DEDEINC . "/upyunphpsdk/vendor/autoload.php";
     use UpyunUpyun;
     use UpyunConfig;
     $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 失败!");

使用阿里云OSS

1、准备工作

开通阿里云OSS服务,并获取相应的密钥信息。

下载最新的php SDK开发包。

2、配置与修改

在conf.inc.php配置文件中填写OSS相关信息如ID、key等。

在Dedecms的include目录新建一个OSS目录,并将SDK中的文件复制到该目录。

在文章处理函数inc_archives_functions.php文件中引用:

     require_once(DEDEINC.'/OSS/tutorial.php');

修改inc_archives_functions.php中有关图片上传的部分,使用tutorial.php里的upload_by_file函数上传到OSS服务器,并替换图片地址为OSS的远程地址。

常见问题解答(FAQs)

1、Q: Dedecms远程附件图片整合阿里云存储OSS插件教程中是否支持FTP形式操作?

A: 不支持,目前dedecms系统本身实现的远程附件功能是基于FTP上传的,而阿里云是通过web来上传的,官方并未提供ftp形式操作的支持。

2、Q: 如何解决Dedecms无法保存远程图片到本地服务器的问题?

A: 确保编辑区域上方的“下载远程图片和资源”选项被勾选,并在系统设置里面的其他选项中选择“远程图片本地化”,检查网站目录中是否有allimg文件夹,以及确保服务器上没有禁用fsockopen()函数,如果问题依然存在,尝试将fsockopen替换为stream_socket_client。

通过以上步骤和解答,用户可以有效地将图片从本地上传到远程服务器,无论是使用又拍云还是阿里云OSS,都能实现这一需求,解决常见问题也能确保整个过程的顺利进行。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何在DedeCMS中远程上传图片到服务器?》
文章链接:https://www.yunzhuji.net/yunfuwuqi/254918.html

评论

  • 验证码