您的位置:首页 > 编程语言 > PHP开发

php的流处理

2016-04-09 17:50 661 查看
  工作中有这样一类场景,1、数据量很大,2、需要对数据进行实时的简单处理。例如:用户发布的消息会实时写入到message.txt文件中,写入的同时推送进mcq中(使用php脚本)。那么这个简单的功能就比较适合使用php的流的处理方式来实现。php:// 是php中已经注册的URL风格的封装协议,用于访问各个输入/输出流(I/O streams)。

# php 脚本 mcq.php

<?php

$std = fopen("php://stdin","r");

while ( ($line = fgets($std)) !== false ) {
  //将得到的数据推送到mcq中
  put_mcq($line);
}

fclose($std);


#shell 脚本

# sread是一个实时获取message.txt文件数据的一个脚本,用户发布的消息会实时写入message.txt文件中

sread message.txt  | /bin/php mcq.php


优化:php的手册中建议使用简单的STDIN常量

<?php

while ( ($line = fgets(STDIN)) !== false ) {
  //将得到的数据推送到mcq中
  put_mcq($line);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: