帝国cms 远程图片保存(帝国cms二次开发教程)

帝国CMS是国内较为流行的内容管理系统之一,其二次开发也较为方便。本文将介绍如何在帝国CMS中实现远程图片保存功能。 1. 了解帝国CMS的图片上传机制 在帝国CMS中,图片上传是通过ueditor插件实

帝国CMS是国内较为流行的内容管理系统之一,其二次开发也较为方便。本文将介绍如何在帝国CMS中实现远程图片保存功能。

1. 了解帝国CMS的图片上传机制

在帝国CMS中,图片上传是通过ueditor插件实现的。ueditor插件默认将上传的图片保存在本地服务器上,而不是保存在远程服务器上。因此,我们需要对ueditor插件进行二次开发,使其支持远程图片保存。

2. 修改ueditor插件代码

为了实现远程图片保存,我们需要修改ueditor插件的代码。具体步骤如下:

帝国cms 远程图片保存(帝国cms二次开发教程)

  1. 找到ueditor.all.js文件,并备份该文件。
  2. 在ueditor.all.js文件中搜索“uploadImage”关键字,找到该函数。
  3. 在该函数中找到“xhr.send(formdata);”代码,并将其注释掉。
  4. 在该函数中添加如下代码:

var img = document.createElement('img');

img.src = url;

img.onload = function() {

editor.execCommand('insertimage', {

src: url,

alt: alt,

title: title

});

};

以上代码将远程服务器上的图片插入到编辑器中。

3. 修改后台代码

修改完ueditor插件代码后,我们还需要修改后台代码。具体步骤如下:

  1. 找到admin/include/uploadify/uploadify.php文件,并备份该文件。
  2. 在uploadify.php文件中找到“$info = $upload->upload();”代码,并将其注释掉。
  3. 在该代码后面添加如下代码:

$info = $upload->upload();

if ($info) {

$url = $info[0]['url'];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);

$output = curl_exec($ch);

curl_close($ch);

$filename = $upload->savePath . $info[0]['savename'];

$fp = fopen($filename, 'w');

fwrite($fp, $output);

fclose($fp);

}

以上代码将远程服务器上的图片保存到本地服务器上。

通过以上步骤,我们就成功地实现了帝国CMS的远程图片保存功能。

相关文章