2014-10-08 74 views
0

我想通過使用PHP運行cron作業,使用指定文件夾中的鏈接自動下載csv文件。要自動下載特定文件夾中的csv文件

我嘗試了下面的代碼,但它默認下載到下載文件夾中。

任何人都可以告訴我正確的方式來做到這一點。使用的代碼如下。

$link="http://labcase.com/wrt/search.php?format=csv&sortby=reqnum|DESC&Search=non_closed_req&state[]=New&state[]=Pending%3A+Delivery&state[]=Pending%3A+Installation&state[]=On+Hold&state[]=Pending%3A+More+Info&state[]=Assigned&state[]=Working&state[]=Pending%3A+Approval&orgs[]=125&orgs[]=25&bldg[]=BGL04%2CBGL11%2CBGL12%2CBGL13%2CBGL14%2CBGL15%2CBGL16%2CBGL17%2CBGL20%2CBGL22%2CBGL25%2CBGL26%2CBGL43&business_unit=all"; 
header('Content-Disposition: attachment; filename=example.csv'); 
header("Content-Type: application/force-download"); 
header('Pragma: no-cache'); 
readfile($link); 
+0

聽起來像一個瀏覽器的安全問題。如果腳本有可能選擇下載文件夾,那麼惡棍們會爲此感到高興。因此,瀏覽器被設計爲不這樣做。 – Paul 2014-10-08 07:45:29

+0

當你使用Cron Job時,它會起作用嗎?您不使用Cron Job中的瀏覽器,而是使用CLI,因此不會彈出文件保存。 – Justinas 2014-10-08 07:49:13

+0

如何在服務器上運行Cron作業使文件奇蹟般地出現在客戶端上? – Paul 2014-10-08 07:55:50

回答

1

您可以使用此:

file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r')); 

看看here