我试图在我的Centos计算机上运行rate -c 192.168.122.0/24
命令,并使用shell_exec('rate -c 192.168.122.0/24')
命令写下该命令的输出到文本文件;仍然没有运气!php shell_exec()出来得到一个文本文件
回答
当你忘了提,你的命令提供了一个非结束输出流。要实时读取输出,您需要使用popen。从PHP的网站
例子:
$handle = popen('/path/to/executable 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
您可以阅读过程输出就像一个文件。
是的这很好的工作非常感谢你非常感谢你的帮助兄弟。 – 2011-04-19 15:40:17
如果你不需要PHP,你可以运行在shell:
rate -c 192.168.122.0/24 > file.txt
如果你必须从PHP运行:
shell_exec('rate -c 192.168.122.0/24 > file.txt');
的 “>” 字符重定向该命令的输出到一个文件。
那么如果你自己运行命令你会得到一个输出吗?有和没有“> file.txt”。如果文本文件为空,这很奇怪,这意味着该命令不会输出任何结果。 – 2011-04-19 11:45:11
谢谢您的回复。我可以在终端输入命令时终止输出流 – 2011-04-19 11:49:05
@Roshan:您是否遇到过“权限问题”?尝试在上面提到的命令行中添加'2>&1'。我怀疑你是否可以从php运行任意命令。 – 2011-04-19 11:53:41
您还可以通过PHP得到的输出,然后将其保存到一个文本文件
$output = shell_exec('rate -c 192.168.122.0/24');
$fh = fopen('output.txt','w');
fwrite($fh,$output);
fclose($fh);
没有运气好友没有得到写入文本文件 – 2011-04-19 12:27:08
$path_to_file = 'path/to/your/file';
$write_command = 'rate -c 192.168.122.0/24 >> '.$path_to_file;
shell_exec($write_command);
希望这有助于。 :D 这将引导你一个好方法。 https://unix.stackexchange.com/a/127529/41966
- 1. 使用PHP shell_exec()来执行BASH脚本,无法写入文件
- 2. 输出到一个文本文件
- 3. 输出到一个文本文件
- 4. 无法获取shell_exec来下载文件
- 5. 需要输出一个php文件到其他php文件
- 6. PHP输出缓冲到文本文件
- 7. 流出来投入到文本文件PHP的CentOS
- 8. 通过shell_exec中的自定义文件输出shell输出php
- 9. txt文件删除URL到最后一个“/”来获得文件
- 10. shell_exec一个php文件与MySQL里面不工作
- 11. 重定向C文件输出到一个文本文件
- 12. 如何得到的只是出现在一行文本文件
- 13. PHP了shell_exec()导致txt文件?
- 14. PHP,shell_exec和一个输入
- 15. 导出查询输出到一个文本文件
- 16. PHP导出到文本文件 - 仅保存第一线
- 17. 输出得分从一个测验到一个.txt文件
- 18. 打印php脚本输出到文件
- 19. PHP获得数按从文本文件
- 20. 写出JSON数据到一个简单的文本文件
- 21. 输出到文本文件
- 22. 得到一个跨来源XMLHttpRequest来返回一个XML文件中的HTML5
- 23. 获得来自url.jsonp文本与PHP
- 24. 得到了一份文件(命令)文本文件夹地址
- 25. PHP - 解析一个CSV文件,并写入输出到另一个CSV文件
- 26. 如何从一个php文件得到一个用户ID并在另一个php文件
- 27. 使用PHP你怎么输出一个文本文件到表的链接
- 28. 运行一个linux命令,通过PHP输出到文本文件
- 29. OCR输出自动保存到一个文本文件到文件夹
- 30. AlertDialog没有出来,因为不能得到一个按钮的文本
你有什么问题? – alex 2011-04-19 11:39:15
您确定存在'rate'命令吗?它是否在命令行上工作? – mario 2011-04-19 11:40:00
你能告诉我们在运行命令后你在终端中得到了什么吗? – 2011-04-19 11:46:05