我通过php://输入接收XML并使用simpleXML将元素分解为变量然后我想要做的是追加一个数组,或者每隔30秒左右创建一个变量数组
原因是这个脚本将获得常规输入,而不是做大量的mySQL更新或插入,我认为它可能更有效率。
所以,如果有人有时间,那么有几个问题。
1)有没有办法检查php:// input上的新输入。 2)有没有比睡眠功能更好的方法来重复检查? 3)如何使用这些更新变量追加/添加到数组?
我还没有走得太远,所以代码没用,但如果你能原谅我的简单: -
function input() {
$xml = new SimpleXMLElement($input);
$session_id = $xml->session_id;
$ip = $xml->ip;
$browser = $xml->browser;
store($session_id, $ip, $browser);
}
function store() {
$session_id = array();
$ip = array();
$browser = array();
}
答案 0 :(得分:0)
如果我理解正确,您似乎正在尝试将PHP用于长期运行的有状态程序。我相信你知道以下内容: PHP程序通常运行时间不会超过几毫秒,对于典型的Web应用程序最多只能运行几秒钟。每次从PHP处理程序请求资源时,解析都会重新开始,并且没有上一次执行中保留的程序状态。作为一个无国籍的环境,由你来维持国家。因此,PHP不会处理随时间变化的输入,也不会处理状态。
这就是说,追加到数组的最简单方法是:
$myarray[] = "newvalue";
或
$myarray['newkey'] = "newvalue";
处理流:
while (!feof($handle)){ $data = fgets($handle, 4096); }