微信 php示例,使用PHP进行微信公众平台开发的示例

1. SAE 数据库的连接。

需要主机名和端口,以后的使用是一样的。

@ $db = new mysqli(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS,'你的应用名');

2.XML 的处理。

微信发送的消息格式都是 XML 格式,你返回的消息也必须是 XML 格式。从 XML 里提取数据,用 SimpleXML,强大又容易使用。包装成 XML 消息呢?把消息模板保存为字符串,然后用 sprintf 进行格式化输出。

解析微信服务器 POST 的数据:

//---------- 接 收 数 据 ---------- //

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //获取POST数据

//用SimpleXML解析POST过来的XML数据

$postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);

$fromUsername = $postObj->FromUserName; //获取发送方帐号(OpenID)

$toUsername = $postObj->ToUserName; //获取接收方账号

$msgType = $postObj->MsgType; //消息内容

返回文本消息:

function sendText($to, $from, $content, $time)

{

//返回消息模板

$textTpl = "

%s

0

";

//格式化消息模板

$msgType = "text";

$time = time();

$resultStr = sprintf($textTpl,$to,$from,

$time,$msgType,$content);

echo $resultStr;

}

3. API 接口的调用。

网上有很多 API 接口,如百度翻译,有道翻译,天气预报等,对接口的调用可以直接用 file_get_contents ,也可以用 curl 的方式进行抓取,然后根据返回数据的格式进行数据解析,一般都是 xml 格式或者 json 格式,处理时用 SimpleXML 和 json_decode 是很方便的。对于抓取 API 内容,用重新封装的函数:

function my_get_file_contents($url){

if(function_exists('file_get_contents')){

$file_contents = file_get_contents($url);

}

else

{

//初始化一个cURL对象

$ch = curl_init();

$timeout = 5;

//设置需要抓取的URL

curl_setopt ($ch, CURLOPT_URL, $url);

//设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

//在发起连接前等待的时间,如果设置为0,则无限等待

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

//运行cURL,请求网页

$file_contents = curl_exec($ch);

//关闭URL请求

curl_close($ch);

}

return $file_contents;

}

百度翻译 API 的调用如下:

function baiduDic($word,$from="auto",$to="auto"){

//首先对要翻译的文字进行 urlencode 处理

$word_code=urlencode($word);

//注册的API Key

$appid="yourAPIkey";

//生成翻译API的URL GET地址

$baidu_url = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=".$appid."&q=".$word_code."&from=".$from."&to=".$to;

$text=json_decode(my_get_file_contents($baidu_url));

$text = $text->trans_result;

return $text[0]->dst;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值