【发布时间】:2012-03-23 06:56:31
【问题描述】:
我正在尝试编写一个 PHP 脚本来侦听传入的 $_REQUEST 或 $_POST 变量,这些变量是作为 2 向通信的一部分由 Web 应用程序发送的。
HTTP GET 调用将以类似于this 的格式向网络应用发出。
然后,WEBAPP 将向我的侦听器脚本 (http://TRAVISNG.com/listener.php) 发送一个 POST 响应,所以我想知道我的 php 脚本是否可以在我不手动执行 php 脚本的情况下解析它?
请注意,我指的不是编写一个在套接字上侦听网络请求的脚本。
基本上,我想解析网络应用发送的 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;
?>
干杯,
特拉维斯
【问题讨论】:
-
不完全清楚请求是如何发生的,或者为什么这种方法是必要的。也许你可以重新解释发生了什么。 - 至于“日志记录”,您可能希望将
serialized 数组存储在二进制文件中,或者为了简单起见在数据库中。 -
结构如下:用户通过 HTTP 调用调用 Web 应用程序 -> Web 应用程序向调用中指定的 listener.php 脚本发送 HTTP POST -> listener.php 读取 HTTP POST 并将其打印到日志文件中。这种方法是确定 Web 应用程序是否已被正确调用,如果正确,则会将有效的 POST 响应发送到 listener.php 脚本。