意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议
配置详情
本产品仅限新用户首购专享!每人限购1台,续费5折
当前配置
数据中心: {{ getconfigInfoArea(productDetailInfo) }}
套餐规格: 2 核 2 G
带宽:
系统盘 {{ validateMySplit(ProductVM.getProductappointInfoBykey(productDetailInfo,'云系统盘'),'|',1) }} 性能型
IP 数 1 个
可选配置
操作系统:
VPC:
安全组:
购买时长:
1 月
我已阅读并同意《恒创科技服务协议》
购买前请阅读协议并勾选同意

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

来源:互联网 编辑:云晓生
2024-10-23 13:03:22
在Dedecms中,通过FTP或远程服务器配置,可以实现远程发布图片到服务器。

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

使用又拍云存储

1、准备工作


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

确保服务器的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,都能实现这一需求,解决常见问题也能确保整个过程的顺利进行。

本网站发布或转载的文章均来自网络,其原创性以及文中表达的观点和判断不代表本网站。
上一篇: 为何会出现认证服务器异常的情况? 下一篇: Dell R720服务器停产时间是何时?