被微信接口函数调用问题

connora 2015-03-27 05:15:37
1.一个微信开发调用接口入口文件,interface.php,

<?PHP
include 'D:\web\Wechat_service\lib\common.php';
$data=run(file_get_contents("php://input"));
echo strings();
echo $data;
?>

2.调用了同级目录lib下的common.php,内有定义的函数run:

<?PHP
function strings() {
return 'string ok';
}
function textHdl($recv) {
$tmpl="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$time=time();
$reply=sprintf($tmpl , $recv['uid'] , $recv['localid'] , $time , $text);
return $reply;
}
function run($rawdata) {
echo 'ok';
//$rawdata=file_get_contents("php://input");//$GLOBALS['HTTP_RAW_POST_DATA'];
$xml=simplexml_load_string($rawdata,'SimpleXMLElement',LIBXML_NOCDATA);
$recv['uid']=$xml->FromUserName;//发送方帐号(一个OpenID)
$recv['localid']=$xml->ToUserName;
$recv['sendtime']=$xml->CreateTime;//消息创建时间 (整型)
$recv['msgid']=$xml->MsgId;//消息id,64位整型
$s=strings();
if($xml->MsgType=='text') {
$recv['text']=$xml->Content;
$text='你好,我收到的信息是:'.$recv['text'];
return textHdl($recv);
}
}
?>


出现的问题是:调试时run无输出,没有报错,strings运行正常。
如果把common.php中函数转移到interface.php中,运行提示"Trying to get property of non-object"。
好像是simple_xml_load_string没有正常解析,是参数没传过去吗?
先谢谢大家。
...全文
131 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧