2015-04-07 111 views
0

當我從瀏覽器運行我的php腳本時,我得到一個csv文件,使用$fp = fopen('php://output', "w");,fputcsv和適當的header標籤自動下載到客戶端。它工作得非常好。從命令行運行腳本時將文件下載爲csv

當我從命令行使用php index.php 2014(「2014」是我傳入的argv)運行我的腳本時,通常會進入csv的內容實際上出現在命令行框中。

如何讓我的代碼在使用命令行時仍能下載csv文件?

如果有關係我使用Vagrant和VirtualBox運行ubuntu。

+0

顯示你在命令行中運行命令 – Saty

+1

使用命令行瀏覽器感覺你不能「下載」任何事情 - 沒有HTTP客戶端爲。您需要將文件寫入文件夾或從命令行運行時設置目標。 –

+0

@Bulk - 是的。我對於客戶端/服務器方面的分歧感到有點樂觀和困惑。 – mikelovelyuk

回答

0

您可以更新行接下來,其中$$ filepath是文件路徑名稱。

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

我最初是這樣的..而你是正確的。但它會下載到服務器。不是客戶。 – mikelovelyuk

+0

在腳本運行終端的系統中會生成一個文件。在這種情況下,客戶機意味着什麼? –

+0

我的意思是,所以用戶可以將它保存到他們的桌面上。但從我對這個問題的回答來看,我開始明白這可能是不可能的。這是好的 – mikelovelyuk

0

如果顯示CSV對index.php文件的內容,你可以做到這一點的命令:

PHP的index.php 2014> my_csv.csv