管理过公众平台的小伙伴都知道,公众平台最重要的是图文的编辑和发布,由于微信公众平台的图文编辑页面比较简陋,功能和样式的比较少,所以一般都是使用专业的微信图文编辑器,koahub软件市场里有一款专门编辑微信图文的源码,可免费下载。

下面是微信编辑器的部分代码:

1、抓取远程图片

<?php 
/** 
* 抓取远程图片 
*/ 
set_time_limit(0); 
include("Uploader.class.php");

/* 上传配置 */ 
$config = array( 
    "pathFormat" => $CONFIG['catcherPathFormat'], 
    "maxSize" => $CONFIG['catcherMaxSize'], 
    "allowFiles" => $CONFIG['catcherAllowFiles'], 
    "oriName" => "remote.png" 
); 
$fieldName = $CONFIG['catcherFieldName'];

/* 抓取远程图片 */ 
$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(); 
    array_push($list, array( 
        "state" => $info["state"], 
        "url" => $info["url"], 
        "size" => $info["size"], 
        "title" => htmlspecialchars($info["title"]), 
        "original" => htmlspecialchars($info["original"]), 
        "source" => htmlspecialchars($imgUrl) 
    )); 
}

/* 返回抓取数据 */ 
return json_encode(array( 
    'state'=> count($list) ? 'SUCCESS':'ERROR', 
    'list'=> $list 
));

2、 获取已上传的文件列表

<?php 
/** 
* 获取已上传的文件列表 
*/ 
include "Uploader.class.php";

/* 判断类型 */ 
switch ($_GET['action']) { 
    /* 列出文件 */ 
    case 'listfile': 
        $allowFiles = $CONFIG['fileManagerAllowFiles']; 
        $listSize = $CONFIG['fileManagerListSize']; 
        $path = $CONFIG['fileManagerListPath']; 
        break; 
    /* 列出图片 */ 
    case 'listimage': 
    default: 
        $allowFiles = $CONFIG['imageManagerAllowFiles']; 
        $listSize = $CONFIG['imageManagerListSize']; 
        $path = $CONFIG['imageManagerListPath']; 

$allowFiles = substr(str_replace(".", "|", join("", $allowFiles)), 1);

/* 获取参数 */ 
$size = isset($_GET['size']) ? htmlspecialchars($_GET['size']) : $listSize; 
$start = isset($_GET['start']) ? htmlspecialchars($_GET['start']) : 0; 
$end = $start + $size;

/* 获取文件列表 */ 
$path = $_SERVER['DOCUMENT_ROOT'] . (substr($path, 0, 1) == "/" ? "":"/") . $path; 
$files = getfiles($path, $allowFiles); 
if (!count($files)) { 
    return json_encode(array( 
        "state" => "no match file", 
        "list" => array(), 
        "start" => $start, 
        "total" => count($files) 
    )); 
}

/* 获取指定范围的列表 */ 
$len = count($files); 
for ($i = min($end, $len) - 1, $list = array(); $i < $len && $i >= 0 && $i >= $start; $i--){ 
    $list[] = $files[$i]; 

//倒序 
//for ($i = $end, $list = array(); $i < $len && $i < $end; $i++){ 
//    $list[] = $files[$i]; 
//}

/* 返回数据 */ 
$result = json_encode(array( 
    "state" => "SUCCESS", 
    "list" => $list, 
    "start" => $start, 
    "total" => count($files) 
));

return $result;

/** 
* 遍历获取目录下的指定类型的文件 
* @param $path 
* @param array $files 
* @return array 
*/ 
function getfiles($path, $allowFiles, &$files = array()) 

    if (!is_dir($path)) return null; 
    if(substr($path, strlen($path) - 1) != '/') $path .= '/'; 
    $handle = opendir($path); 
    while (false !== ($file = readdir($handle))) { 
        if ($file != '.' && $file != '..') { 
            $path2 = $path . $file; 
            if (is_dir($path2)) { 
                getfiles($path2, $allowFiles, $files); 
            } else { 
                if (preg_match("/\.(".$allowFiles.")$/i", $file)) { 
                    $files[] = array( 
                        'url'=> substr($path2, strlen($_SERVER['DOCUMENT_ROOT'])), 
                        'mtime'=> filemtime($path2) 
                    ); 
                } 
            } 
        } 
    } 
    return $files; 
}

3、上传附件和上传视频

<?php 
/** 
* 上传附件和上传视频 
*/ 
include "Uploader.class.php";

/* 上传配置 */ 
$base64 = "upload"; 
switch (htmlspecialchars($_GET['action'])) { 
    case 'uploadimage': 
        $config = array( 
            "pathFormat" => $CONFIG['imagePathFormat'], 
            "maxSize" => $CONFIG['imageMaxSize'], 
            "allowFiles" => $CONFIG['imageAllowFiles'] 
        ); 
        $fieldName = $CONFIG['imageFieldName']; 
        break; 
    case 'uploadscrawl': 
        $config = array( 
            "pathFormat" => $CONFIG['scrawlPathFormat'], 
            "maxSize" => $CONFIG['scrawlMaxSize'], 
            "allowFiles" => $CONFIG['scrawlAllowFiles'], 
            "oriName" => "scrawl.png" 
        ); 
        $fieldName = $CONFIG['scrawlFieldName']; 
        $base64 = "base64"; 
        break; 
    case 'uploadvideo': 
        $config = array( 
            "pathFormat" => $CONFIG['videoPathFormat'], 
            "maxSize" => $CONFIG['videoMaxSize'], 
            "allowFiles" => $CONFIG['videoAllowFiles'] 
        ); 
        $fieldName = $CONFIG['videoFieldName']; 
        break; 
    case 'uploadfile': 
    default: 
        $config = array( 
            "pathFormat" => $CONFIG['filePathFormat'], 
            "maxSize" => $CONFIG['fileMaxSize'], 
            "allowFiles" => $CONFIG['fileAllowFiles'] 
        ); 
        $fieldName = $CONFIG['fileFieldName']; 
        break; 
}

/* 生成上传实例对象并完成上传 */ 
$up = new Uploader($fieldName, $config, $base64);

/** 
* 得到上传文件所对应的各个参数,数组结构 
* array( 
*     "state" => "",          //上传状态,上传成功时必须返回"SUCCESS" 
*     "url" => "",            //返回的地址 
*     "title" => "",          //新文件名 
*     "original" => "",       //原始文件名 
*     "type" => ""            //文件类型 
*     "size" => "",           //文件大小 
* ) 
*/

/* 返回数据 */ 
return json_encode($up->getFileInfo());

下载地址:http://www.koahub.com/home/product/40 
演示地址:http://1.inuoer.com/wxedit/

KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架

官网:http://js.koahub.com 

koahub软件市场微信编辑器源码,可下载的更多相关文章

  1. WeMall微信商城源码插件大转盘代码详情

    WeMall微信商城源码插件大转盘代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 代码详情地址:http://addon.wemallshop.com/Product/ ...

  2. WeMall微信商城源码活动报名插件代码详情

    WeMall微信商城源码插件活动报名代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考,商家可自由设置报名项目,活动时间,报名内容 代码详情地址:http://addon. ...

  3. WeMall微信商城源码插件代金券部分代码

    WeMall微信商城源码插件Coupon代金券代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php na ...

  4. WeMall微信商城源码插件会员卡代码详情

    WeMall微信商城源码插件会员卡代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 Index_index.html <html> <head> ...

  5. 微信小程序实例源码大全下载

     小程序QQ交流群:131894955  小程序开发直播腾讯课堂:  https://edu.csdn.net/course/detail/6743 微信小程序实例源码大全下载 微信小应用示例代码(p ...

  6. 对于学习apache软件基金会顶级项目源码的一点思路(转)

    ASF的开源项目,为软件行业贡献了太多好的产品和软件思维.学习ASF的项目源码能很大的提升自身的能力.程序运行在服务器上的流程:执行启动脚本(start.sh) -> 指向程序的主方法 -> ...

  7. 120多套各种类别微信小程序模板源码打包下载

    120多套各种类别微信小程序模板源码打包下载,以下是部分截图欢迎下载!120多套各种类别微信小程序模板源码打包下载 下载地址:https://pan.baidu.com/s/1Cfqyc9p2ZDOc ...

  8. 【转】Android 4.3源码的下载和编译环境的安装及编译

    原文网址:http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html  告诉windows用户一个不好的消息,windows环境下没法 ...

  9. Android源码的下载和编译

    由于公司会安排我做硬解码这块,所以最近一直想研究一下Android源码,可是Android源码的下载真的挺麻烦的(可能是我第一次下载),参照网上的方法,没有一个可行的,现在就将我的下载过程和大家分享一 ...

随机推荐

  1. JavaScript的核心

    对象 ECMAScript做为一个高度抽象的面向对象语言,是通过对象来交互的.即使ECMAScript里边也有基本类型,但是,当需要的时候,它们也会被转换成对象. 一个对象就是一个属性集合,并拥有一个 ...

  2. java二维码生成-谷歌(Google.zxing)开源二维码生成学习及实例

    java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍   我们使用比特矩阵(位矩阵)的QR码编码在缓冲图片上画出二维码 实例有以下一个传入参数 OutputStream ou ...

  3. ubuntu 下安装 cudnn

    安装cudnn前后,GPU跑一个算法的速度分别是139ms和26ms ! 1. 在以下网址选择  cuDNN v5.1 Library for Linux 下载 https://developer.n ...

  4. ASP.NET\MVC 解决C#上传图片质量下降,图片模糊,水印有杂点的问题

    对图片处理这一块不是很懂,自己写不出来,这些年一直没有停止找一个上传图片质量不下降,加水印不会导致模糊和水印周边产生杂点的代码. 网上基本上99.9%的代码处理图片质量都是下面这两句: //设置质量 ...

  5. OGG学习笔记04-OGG复制部署快速参考

    OGG学习笔记04-OGG复制部署快速参考 源端:Oracle 10.2.0.5 RAC + ASM 节点1 Public IP地址:192.168.1.27 目标端:Oracle 10.2.0.5 ...

  6. Dubbo源码学习--集群负载均衡算法的实现

    相关文章: Dubbo源码学习文章目录 前言 Dubbo 的定位是分布式服务框架,为了避免单点压力过大,服务的提供者通常部署多台,如何从服务提供者集群中选取一个进行调用, 就依赖Dubbo的负载均衡策 ...

  7. yii2 邮件发送(有图有真相)

    经典的密码找回方案是发送邮件到用户邮箱然后修改密码,下面利用yii2 高级版的mail功能,进行邮件的发送,如下图 1.在comm/config/main-local.php中添加 'mailer' ...

  8. Android jni 编程2(对基本类型一维整型数组的操作)

    参考教程和这位博主的对一维数组的处理,主要包括以下三种类型: //传入一维数组,无返回值 public native void arrayEncode(int[] arr); //传一个一维数组和数组 ...

  9. 制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)

    这是 OpenStack 实施经验分享系列的第 2 篇. OpenStack 通过 Glance 镜像部署 instance,上一节我们介绍了 linux 镜像制作方法,windows 镜像与 lin ...

  10. 聊聊dmClock算法

    作者:吴香伟 发表于 2017/01/08 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 人们常常容易忽略一些不起眼但特别重要的事物.曾经跟同事聊Python, ...