在PHP中将文件内容重定向到标准输入

4

我有一个文件abc.txt,内容如下:

hello
hi
good
bad
...
....

现在,如何逐行重定向文件内容到一个php脚本的标准输入,以便执行php脚本时,可以通过任一以下命令收集输入:
$f = fopen('php://stdin', 'r');
$line = fgets($f);

或者

$f = fgets(STDIN);

你能不能只是将 fopen('php://stdin', 'r') 替换为你的 fopen('abc.txt', 'r') - Lekensteyn
1
@Lekensteyn:这将在脚本中引入一个硬编码的文件名。我认为这种情况应该被防止。 - hakre
1
如果你运行 php abc.txt,你可以使用 fopen($argv[1])。在使用 php abc.txt 之前,请检查 $argc == 2$argc >= 2 - Lekensteyn
1个回答

4
php yourscript.php < yourinputfile

应该就能解决问题了。

服务器上怎么样,比如Apache或其他什么? - Dhaivat Pandya
1
@Mat - 我猜Dhaivat正在问一些超出世界的东西。顺便说一句,我明白你的意思了。谢谢你的回答。 - Sujit Agarwal
1
@Dhaivat-i 从命令行的角度提出了这个问题。 - Sujit Agarwal
1
那么,要做到这一点,您需要知道确切的服务器、脚本在该服务器中的调用方式以及您希望如何触发重定向——如果可能的话。 - Mat
@Mat 如果我们没有访问使用bash '<'重定向的php执行命令,那么从PHP代码内部进行重定向怎么样? - Nam G VU
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接