<?php
//接收微信推送的消息数据
$xmlStr = file_get_contents('php://input');
//将用户发的消息转换为数组
$arr = XmlToArr($xmlStr);
#产生四位随机数
$salt = rand(100000, 999999);
#生成签名
$sign = '自己的appid' . $arr['Content']. $salt . '秘钥';
#签名加密
$sign = md5($sign);
#拼接数组地址
$url = 'http://api.fanyi.baidu.com/api/trans/vip/translate?q=' . urlencode($arr['Content']) . '&from=auto&to=auto&appid=‘你自己的id’&salt=' . $salt . '&sign=' . $sign;
#写入
$tran = file_get_contents($url);
#转成数组
$tran = json_decode($tran, true);
//构建给用户回复的消息内容
$arr_text_msg=[
'ToUserName'=>$arr['FromUserName'],
'FromUserName'=>$arr['ToUserName'],
'CreateTime'=>time(),
'MsgType'=>'text',
'Content' => $tran['trans_result'][0]['dst']
];
$arr_return = ArrToXml($arr_text_msg);
echo $arr_return;
file_put_contents('./test.txt',print_r($arr,true),FILE_APPEND);
//Xml转数组
function XmlToArr($xml)
{
if($xml == '') return '';
libxml_disable_entity_loader(true);
$arr = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
return $arr;
}
//数组转xml
function ArrToXml($arr)
{
if(!is_array($arr) || count($arr) == 0) return '';
$xml = "";
foreach ($arr as $key=>$val)
{
if (is_numeric($val)){
$xml.="<".$key.">".$val."
微信公众号调用百度翻译接口
最新推荐文章于 2024-11-19 11:58:30 发布