管理过公众平台的小伙伴都知道,公众平台最重要的是图文的编辑和发布,由于微信公众平台的图文编辑页面比较简陋,功能和样式的比较少,所以一般都是使用专业的微信图文编辑器,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. word中利用宏替换标点标点全角与半角

    Alt+F11,然后插入-模块: 复制下面代码到编辑窗口: Sub 半角标点符号转换为全角标点符号() '中英互译文档中将中文段落中的英文标点符号替换为中文标点符号 Dim i As Paragrap ...

  2. permeation开篇

    学习方法: To follow the path look to the master follow the master walk with the master see through the m ...

  3. Java策略模式(Strategy模式) 之体验

    <JAVA与模式>之策略模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法 ...

  4. vue.js中ajax请求

    <div id="app"> <table style="border-collapse: collapse"> <thead&g ...

  5. MaltReport2:基于 OpenDocument/OpenOfficeXML 的报表引擎

    MaltReport 是我几年前写的开源单据.报表引擎,最近进行了较大的更新,尤其是几年来在生产项目中应用取得了非常好的效果,特别写篇介绍文字给大家分享一下. 首先先介绍几个名词: OpenDocum ...

  6. vs调试时底部输出调试信息“无法查找或打开 PDB 文件”解决办法

    用VS调试程序时,有时会在VS底部的"输出"框中提示"无法查找或打开 PDB 文件".这该怎么解决呢? 下面,我们以VS2013为例,来教大家解决办法. 工具/ ...

  7. Jmeter生成html格式测试报告

    使用jmeter进行性能测试,运行完毕后生成html格式的测试报告,需要进行如下操作: 1.在C:\apache-jmeter-3.0\bin文件夹下的user.properties文本中添加如下信息 ...

  8. Apache工作原理

                            Apache工作原理 在开始了解Apache前,我们先熟悉一下web服务器,因为apache也是web服务器的一种. Web系统由客户端(浏览器)和服务 ...

  9. C# 多态理论基础

    一.概述 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性. 可以用不同的方式实现组件中的多态性: ● 接口多态性. ● 继承多态性. ● 通过抽象类实现的多态性. 二.实 ...

  10. android学习16——library project的使用

    library project和普通的project没有区别.用如下命令新建的一个工程. android create project --target 3 --name MyActivity --p ...