Php 从命令行运行脚本时将文件下载为csv

Php 从命令行运行脚本时将文件下载为csv,php,command-line,argv,fputcsv,Php,Command Line,Argv,Fputcsv,当我从浏览器运行php脚本时,我会得到一个csv文件,使用$fp=fopen('php://output","w";、fputcsv和相应的标题标记。它工作得很好 当我使用php index.php 2014(“2014”是我要传递的argv)从命令行运行脚本时,通常进入csv的内容实际上会显示在命令行框中 如何让代码在使用命令行时仍能下载csv文件 如果有关系,我正在使用Vagrant和VirtualBox运行ubuntu。如果您在index.php文件上显示CSV的内容,您可以执行以下命令:

当我从浏览器运行php脚本时,我会得到一个csv文件,使用
$fp=fopen('php://output","w";
fputcsv
和相应的
标题
标记。它工作得很好

当我使用
php index.php 2014
(“2014”是我要传递的argv)从命令行运行脚本时,通常进入csv的内容实际上会显示在命令行框中

如何让代码在使用命令行时仍能下载csv文件


如果有关系,我正在使用Vagrant和VirtualBox运行ubuntu。

如果您在index.php文件上显示CSV的内容,您可以执行以下命令:


php index.php 2014>my_csv.csv

您可以按如下方式更新该行,$$filepath是文件路径名

$fp = fopen($$filepath, "w");

显示您在命令行中运行的命令您不能使用浏览器意义上的命令行“下载”任何内容-没有用于此的HTTP客户端。从命令行运行时,您需要将文件写入文件夹或设置目标。@Bulk-yes。我对客户机/服务器端的划分有点乐观,通常会感到困惑。是的,我想你可能是这样的-命令行用于与服务器直接交互-一般来说,这不是你希望客户机参与的事情:)我一开始就有这个。。你是对的。但它会下载到服务器上。不是客户端。将在脚本正在运行的终端系统中生成Yes文件。在这种情况下,你所说的客户机是什么意思?我的意思是,例如,用户可以将它保存到他们的桌面上。但从我对这个问题的回答来看,我开始明白这可能是不可能的。也就是说,php脚本应该生成csv并返回文件路径,这样您就可以从客户机使用另一个php代码从服务器端下载。