首页 > 其他分享 >PbootCMS实现后台编辑器微信公众号图片本地化

PbootCMS实现后台编辑器微信公众号图片本地化

时间:2024-09-13 10:36:10浏览次数:11  
标签:info url 微信 htmlspecialchars source 编辑器 array imgUrl PbootCMS

为了实现PbootCMS后台编辑器将微信公众号上的图片本地化,可以按照你提供的方法进行修改。以下是详细的步骤和修改内容:

1. 修改 coreextendueditor/phpction_crawler.php 文件

原始代码

/* 抓取远程图片 */
$list = array();
if (isset($_POST[$fieldName])) {
    $source = $_POST[$fieldName];
} else {
    $source = $_GET[$fieldName];
}
foreach ($source as $imgUrl) {
    $item = new Uploader($imgUrl, $config, "remote");
    $info = $item->getFileInfo();

    // 图片打水印
    $ext = array(
        '.jpg',
        '.png',
        '.gif'
    );
    if (in_array($info['type'], $ext)) {
        resize_img(ROOT_PATH . $info['url']); // 缩放大小
        watermark_img(ROOT_PATH . $info['url']); // 水印
    }

    array_push($list, array(
        "state" => $info["state"],
        "url" => $info["url"],
        "size" => $info["size"],
        "title" => htmlspecialchars($info["title"]),
        "original" => htmlspecialchars($info["original"]),
        "source" => htmlspecialchars($imgUrl)
    ));
}

修改后的代码

/* 抓取远程图片 */
$list = array();
if (isset($_POST[$fieldName])) {
    $source = $_POST[$fieldName];
} else {
    $source = $_GET[$fieldName];
}
foreach ($source as $imgUrl) {
    $item = new Uploader($imgUrl, $config, "remote");
    $info = $item->getFileInfo();

    // 图片打水印
    $ext = array(
        '.jpg',
        '.png',
        '.gif'
    );
    if (in_array($info['type'], $ext)) {
        resize_img(ROOT_PATH . $info['url']); // 缩放大小
        watermark_img(ROOT_PATH . $info['url']); // 水印
    }

    array_push($list, array(
        "state" => $info["state"],
        "url" => $info["url"],
        "size" => $info["size"],
        "title" => htmlspecialchars($info["title"]),
        "original" => htmlspecialchars($info["original"]),
        "source" => htmlspecialchars_decode($imgUrl)
    ));
}

2. 修改 coreextendueditor/php/Uploader.class.php 文件

原始代码

private function saveRemote() {
    $imgUrl = htmlspecialchars($this->fileField);
    $imgUrl = str_replace("&", "&", $imgUrl);
}

修改后的代码

private function saveRemote() {
    $imgUrl = htmlspecialchars($this->fileField);
    $imgUrl = str_replace("&", "&", $imgUrl);

    // 增加对微信图片的判断
    if (strpos($imgUrl, 'https://mmbiz.qpic.cn') !== false) {
        $newstr = strtolower(strrchr($imgUrl, '?'));
        $imgUrl = str_replace($newstr, '.jpg', $imgUrl);
    }
}

3. 清理缓存并测试

  • 清理缓存:确保清理浏览器缓存,以确保加载的是最新的代码。
  • 测试:复制微信公众号的文章并粘贴到PbootCMS后台编辑器中,查看图片是否成功本地化。

注意事项

  • 安全检查:确保修改后的代码不会引入新的安全漏洞,如XSS攻击等。
  • 兼容性测试:测试不同类型的图片链接,确保所有图片都能正确本地化。
  • 备份代码:在进行任何修改之前,备份原始代码,以便在出现问题时能够恢复。

通过以上步骤,你应该能够成功实现PbootCMS后台编辑器将微信公众号上的图片本地化。如果在操作过程中遇到任何问题,可以进一步调试或参考官方文档。

标签:info,url,微信,htmlspecialchars,source,编辑器,array,imgUrl,PbootCMS
From: https://www.cnblogs.com/hwrex/p/18411777

相关文章

  • pbootcms后台的百度普通收录token怎么填写?怎么获得?
    要在PbootCMS后台填写百度普通收录token,你需要先获得这个token,然后按照以下步骤填写到后台:如何获得百度普通收录token访问百度搜索资源平台打开百度搜索资源平台的网址:https://ziyuan.baidu.com/如果你还没有账号,请先注册一个百度账号。添加站点登录后,进入用户中心......
  • PbootCMS网站挂马被黑解决方案
    当PbootCMS网站被挂马或被黑时,需要迅速采取行动来清除恶意代码,恢复网站的正常运行,并加强安全性防止再次被攻击。以下是详细的解决方案步骤:1.备份现有数据在开始任何操作之前,首先要备份现有的网站数据,包括数据库和文件系统,以防在清理过程中出现意外。2.检测和清除恶意代码手......
  • PbootCMS模板安全设置与加固方法
    为了确保PbootCMS模板的安全性和稳定性,可以采取一系列的安全设置与加固措施。下面是一些具体的步骤和建议:1.权限设置目录权限:调整关键目录的权限,防止未经授权的写入操作。/apps:禁止写入权限(chmod0555)/config:允许读写权限(chmod0777)/core:禁止写入权限(chmod0555)......
  • PbootCMS新手初次安装教程
    对于初次安装PbootCMS的新手来说,可以遵循以下步骤来完成安装过程。这里提供一个基本的安装流程,帮助你快速上手:1.下载PbootCMS程序访问PbootCMS官方网站下载最新版本的程序。选择适合你网站需求的版本(如果是小型企业网站,可以选择使用SQLite数据库)。2.上传程序包将下载好......
  • PbootCMS怎么安装?注意事项
    安装PbootCMS的过程相对直接,下面是详细的步骤,帮助你完成安装:1.下载PbootCMS程序访问PbootCMS官方网站或其他可信来源下载最新版本的程序包。确保下载适合你服务器环境的版本。2.上传程序包使用FTP客户端(如FileZilla)或其他方式将程序包上传到你的虚拟主机或服务器。上传......
  • 基于微信小程序的实习记录系统-计算机毕业设计源码+LW文档
    摘要随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对实习记录进行需求分析,得出实习......
  • PbootCMS程序后台登录密码重置工具
    如果你忘记了PbootCMS后台的登录密码,可以使用官方提供的密码重置工具来重置密码。以下是使用PbootCMS密码重置工具的步骤:1.下载重置工具访问PbootCMS官网或其他可信来源下载密码重置工具。通常是一个名为 resetpw.php 的文件。2.上传重置工具将下载好的 resetpw.php......
  • Pbootcms网站忘记后台帐号密码如何重置?
    如果你忘记了PbootCMS后台的账号密码,可以按照以下步骤来重置密码:方法一:使用官方提供的密码重置工具下载重置工具访问PbootCMS官网或其他可信来源下载密码重置工具。通常是一个名为 resetpw.php 的文件。上传重置工具使用FTP客户端(如FileZilla)将 resetpw.php 文件......
  • 基于微信小程序的教师管理系统-计算机毕业设计源码+LW文档
    摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,微信被用户普遍使用,为方便用户能够可以随时教师管理系统信息管理,特开发了基于微信小程序教师管理系统。微信小程序教师管理......
  • 基于微信小程序的订餐系统设计与实现-计算机毕业设计源码+LW文档
    摘要民以食为天,餐饮业一直是与人们日常生活息息相关的产业。传统的电话订餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起,互联网日益成为提供信息的最佳俱渠道和逐步走向传统的流通领域,传统的餐饮业进而也面临着巨大的挑战,此时推出网络订餐非常适时。与传统的电......