我正在尝试编写一个PHP脚本,侦听由web应用程序作为双向通信的一部分发送的传入$_REQUEST或$_POST变量。
HTTP GET调用将以类似于此的格式对web应用程序进行。
WEBAPP将然后发送一个POST响应到我的监听器脚本(http://TRAVISNG.com/listener.php),所以我想知道如果我的php脚本可以解析它没有我执行php脚本手动?
请注意,我不是指编写一个监听套接字网络请求的脚本。
基本上,我想解析web应用程序发送的POST数据,并将其写入日志文件。因此,每次运行侦听器脚本时,它都会读取日志文件并打印出发送到侦听器脚本的所有POST响应。
下面是我写的一些代码:
<?php
// Read incoming POST request
if (!empty($_POST)){
$params = join(" ", $_POST);
//print_r($params);
echo "|$params|";
}
// Print params & timestamp to file called listenerLog.txt
$logFile = "http://travisng.com/listenerLog.txt";
$fileHandle = fopen($logFile, 'a') or die("Unable to open the listenerLog.txt.");
fwrite($fileHandle, $params);
fclose($fileHandle);
$output = file_get_contents($logFile);
// Print listenerLog.txt
//echo $output;
?>
欢呼,特拉维斯
为了克服这个问题,我决定创建一个CGI侦听器脚本并从那里处理REQUEST参数。每当GET/POST请求通过时,都会调用CGI脚本,并将请求写入日志文件。
根据您的示例调用/url,它们将在$_GET全局
所以尝试:
// Read incoming POST request
if (!empty($_GET)){
$params = join(" ", $_GET);
//print_r($params);
echo "|$params|";
}
您可以使用$_REQUEST
-这将包含$_GET
和$_POST
以及(取决于版本或php.ini配置$_COOKIE
)。