Home >php教程 >php手册 >pipe管道的应用

pipe管道的应用

WBOY
WBOYOriginal
2016-06-13 10:25:07849browse

用linux的朋友一定知道shell提供的pipe(管道)功能吧,或许你还不知道他的全名,那你用没用过这样的命令:
cat INSTALL | more
这种类型的命令用法就是利用管道的技术着出来的,与重新定向(redirection)是不同的。
PHP中提供popen函数来打开一个管道:
int popen(string command,string mode);
popen()打开一个管道,也就是打开处理文件指针。打开一个管道后,返回一个文件指针,接下来的用法就和普通文件的读写一样了。看看下面吧:
$fp=popen("/bin/ls -l -FN /ect","r");

while(!feof($fp))
ehco fgets($fp,4096)."
";

pclose($fp);
?>
输出的结果你试试吧。
管道的应用很广的,比如,我们可以打开一个sendmail的管道来传送电子邮件。利用管道比起用socket更简单易懂。因为利用socket必须懂得如何与sendmail作交握,而管道动作则预处理普通文件没什么区别了。看看下面的程序你就明白了,这个程序会传送一封电子邮件给yqqfgq@china.com:
$fp=popen("/usr/sbin/sendmail yqqfgq@china.com","w");

$message="Hi!是我啊,我是yqqfgq啊!:)n";

fputs($fp,"Subject:$subjectn");
fputs($fp,"From:yqqfgqn");
fputs($fp,"Reply-to:yqqfgq@china.com");
fputs($fp,$message);
fputs($fp," . ");

pclose($fp);

?>
好用吧!呵呵,就这么多了。兄弟们有什么意见就和我联系吧。yqqfgq@china.com

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn