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

COS、CDN

为了实现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, '网址') !== false) {         $newstr = strtolower(strrchr($imgUrl, '?'));         $imgUrl = str_replace($newstr, '.jpg', $imgUrl);     } }

3. 清理缓存并测试

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

注意事项

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

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

COS、CDN
热门