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

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

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

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

使用又拍云存储

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

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1233983.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-23 07:45
下一篇 2024-10-18 01:28

相关推荐

  • 如何在DEDECMS中查询特定栏目下的文章数量?

    在DEDECMS中,要获取指定栏目下的文章数量,可以使用以下方法:,,1. 使用SQL查询语句:,,“sql,SELECT COUNT(*) FROM #@__article WHERE typeid = 栏目ID;,`,,将上述SQL查询语句中的栏目ID替换为实际的栏目ID,然后在DEDECMS后台执行该查询语句,即可获取指定栏目下的文章数量。,,2. 使用DEDECMS标签:,,在DEDECMS模板文件中,可以使用以下标签来获取指定栏目下的文章数量:,,`html,{dede:field name=’total’ id=’1’/},`,,将上述标签中的id`属性值替换为实际的栏目ID,然后在模板文件中插入该标签,即可在前端显示指定栏目下的文章数量。

    2024-10-23
    07
  • 如何修改DedeCMS(织梦)副栏目数量的限制代码?

    要修改dedecms(织梦)副栏目数量限制,请找到/include/taglib/channel.func.php文件,将以下代码:,,“php,$row[‘ispart’] = ($row[‘ispart’] == ‘1’ || $row[‘ispart’] == ” || $row[‘ispart’] == ‘0’) ? ‘0’ : ‘1’;,if($row[‘ispart’] == ‘1’) {, $row[‘ispart’] = $this˃dsql˃GetOne(“SELECT COUNT(*) FROM “.$this˃dbtbpre.”arctiny WHERE typedir='”.$row[‘typedir’].”‘”);,} else {, $row[‘ispart’] = $this˃dsql˃GetOne(“SELECT COUNT(*) FROM “.$this˃dbtbpre.”addonarticle WHERE typedir='”.$row[‘typedir’].”‘ AND ispart=1″);,},`,,替换为:,,`php,$row[‘ispart’] = ($row[‘ispart’] == ‘1’ || $row[‘ispart’] == ” || $row[‘ispart’] == ‘0’) ? ‘0’ : ‘1’;,if($row[‘ispart’] == ‘1’) {, $max_sub_column = 5; // 设置副栏目最大数量,根据需要修改, $row[‘ispart’] = min($this˃dsql˃GetOne(“SELECT COUNT(*) FROM “.$this˃dbtbpre.”arctiny WHERE typedir='”.$row[‘typedir’].”‘”), $max_sub_column);,} else {, $max_sub_column = 5; // 设置副栏目最大数量,根据需要修改, $row[‘ispart’] = min($this˃dsql˃GetOne(“SELECT COUNT(*) FROM “.$this˃dbtbpre.”addonarticle WHERE typedir='”.$row[‘typedir’].”‘ AND ispart=1″), $max_sub_column);,},“,,这样就可以修改副栏目的最大数量限制。

    2024-10-23
    01
  • 如何在DEDECMS中实现每隔五行添加一条虚线的不规则列表?

    在DEDECMS中,要实现每隔5行加一虚线,可以使用以下方法:,,1. 打开模板文件,找到需要添加虚线的列表。,2. 在列表的`或标签内,使用标签包裹每个列表项。,3. 在每个标签内,添加一个类名,line,用于控制样式。,4. 在CSS文件中,为.line类添加样式,使其在每隔5行时显示虚线。,,以下是具体的代码实现:,,“html,,列表项1,列表项2,列表项3,列表项4,列表项5,列表项6, …,,`,,`css,.line:nthchild(5n):after {, content: “_____________________________”;, display: block;,},“

    2024-10-23
    06
  • 如何调整DedeCMS中文章标题的长度?

    要修改DedeCMS文章标题的长度,可以编辑对应模板文件或在后台设置中调整。

    2024-10-23
    06

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入