PHP管道与读取进程数据

windows的cmd也能用。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
#!/usr/local/bin/php -q
function  read(){
     $fp  =   fopen ( "php://stdin" "r" );
     while (! feof ( $fp )) {
         $tmp  fgets ( $fp , 255);
         $input  $input $tmp ;
     }
         
     fclose( $fp );
     return  $input ;
}
 
 
$input  = read();
echo  $input ;

php处理文件流

cat a.txt |/usr/local/bin/php in.php 

 

echo.php

<?php

ob_implicit_flush(true);

$i = 0;
while(1){
   echo "echo {$i}\n";

   sleep(1);
   if($i> 2)exit();

   $i++;
}

  

read.php

<?php
/*
function read(){
    $fp =  fopen("php://stdin", "r");
    while(!feof($fp)) {
        $tmp = fgets($fp, 255);
        $input = $input. $tmp;
    }
         
    fclose($fp);
    return $input;
}
 
 
$input = read();
var_dump($input);
*/

while($stdin = fread(STDIN, 65535)){
    var_dump($stdin);
    
}

  

可以进行实时的非阻塞读取数据输出,而不是阻塞的读取

 php echo.php | php read.php

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值