php 文件指针重置,打开进程文件指针 - PHP 7 中文文档

(PHP 4, PHP 5, PHP 7)

popen – 打开进程文件指针

说明

popen

( string $command

, string $mode

) : resource

打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生。

参数

command

命令。

mode

模式。

返回值

返回一个和 [fopen()](php7/function.fopen)

所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用

[pclose()](php7/function.pclose) 来关闭。此指针可以用于

[fgets()](php7/function.fgets),[fgetss()](php7/function.fgetss) 和

[fwrite()](php7/function.fwrite)。

当模式为 'r',返回的文件指针等于命令的 STDOUT,当模式为 'w',返回的文件指针等于命令的 STDIN。

如果出错返回 FALSE。

范例

Example #1 popen() 例子

$handle = popen("/bin/ls", "r");

?>

如果未找到要执行的命令,会返回一个合法的资源。这看上去很怪,但有道理。它允许访问

shell 返回的任何错误信息:

Example #2 popen() 例子

error_reporting(E_ALL);

/* 加入重定向以得到标准错误输出 stderr。 */

$handle = popen('/path/to/executable 2>&1', 'r');

echo "'$handle'; " . gettype($handle) . "n";

$read = fread($handle, 2096);

echo $read;

pclose($handle);

?>

注释

Note:

如果需要双向支持,使用 [proc_open()](php7/function.proc-open)。

Note: [安全模式](php7/features.safe-mode) 启用时,可仅可用

[safe_mode_exec_dir](php7/ini.sect.safe-mode) 执行文件。实际上,现在不允许在到可执行的路径中存在 .. 组件。

Warning

[安全模式](php7/features.safe-mode) 启用时,命令字符串会被

[escapeshellcmd()](php7/function.escapeshellcmd) 转换。因此,echo y | echo x 会变成

echo y | echo x。

参见

[pclose()](php7/function.pclose) – 关闭进程文件指针

[fopen()](php7/function.fopen) – 打开文件或者 URL

[proc_open()](php7/function.proc-open) – 执行一个命令,并且打开用来输入/输出的文件指针。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值