在php中命中网址时发送xml响应

Mof*_*zur 5 php xml response

我想在使用http://gmail.com/cb/send/send.php?user_name=admin1&password=test123&subscriber_no=1830070547&mask=Peter&sms='Test SMS' 等参数点击网址时发送xml响应

当一个人点击这个链接然后会给出一个响应

 public function sendResponse($type,$cause) {
    $response = '<?xml version="1.0" encoding="utf-8"?>';
    $response = $response.'<response><status>'.$type.'</status>';
            $response = $response.'<remarks>'.$cause.'</remarks></response>';
            return $response;
 }
Run Code Online (Sandbox Code Playgroud)

我从我的控制器文件调用此方法,只是回显值.击球手会得到这样的回应吗?

<?php
......
......
  echo $sendResponse($type,$cause);
 ?>
Run Code Online (Sandbox Code Playgroud)

用户会通过这种回声得到共鸣吗?

MrC*_*ode 10

return单独不会向客户发送任何东西.如果您回显的结果为sendResponse()yes,则客户端将收到XML:

echo sendResponse($type,$cause);
Run Code Online (Sandbox Code Playgroud)

注意我$从sendResponse调用中删除了- 如果你使用的话,PHP将假设它是一个变量$.

建议添加一个标头来告诉客户端正在发送XML和编码,但这对于传输XML并不重要:

header("Content-type: text/xml; charset=utf-8");
Run Code Online (Sandbox Code Playgroud)

.声明XML标头后,可以使用连接字符:

 public function sendResponse($type,$cause) {

    $response = '<?xml version="1.0" encoding="utf-8"?>';
    $response .= '<response><status>'.$type.'</status>';

            $response = $response.'<remarks>'.$cause.'</remarks></response>';
            return $response;
 }

 ....
 ....

 header("Content-type: text/xml; charset=utf-8");
 echo sendResponse($type,$cause);
Run Code Online (Sandbox Code Playgroud)


Ivo*_*Ivo 5

您只需在脚本中指定一些标题,告诉浏览器/客户端正确处理此内容!除此之外,你必须连接而不是重新分配你的$ response var;)

在PHP中,这应该做的工作:

header("Content-type: text/xml;charset=utf-8");  
Run Code Online (Sandbox Code Playgroud)