2013-02-18 68 views
0

任何人都可以在正確的方向指出我如何使用php從電子郵件中獲取附件嗎?我已經使用PHP成功處理一個相當大的.csv文件,並根據條件執行不同的操作。它工作得很好,但我現在被要求自動下載每天幾次下載包含新的.csv文件的電子郵件。在php中獲取電子郵件附件cron作業

使用這個作爲我的代碼的開始,我一旦下載它,然後將其放在我的服務器上,我就可以用.csv文件中的信息來做我所喜歡的事情。那麼我可以從電子郵件中打開附件,並跳過下載步驟並將其放置在我的服務器上?

$handle = fopen("updateaccounting.csv", "r"); 
     // loop content of csv file, using comma as delemiter 
     while (($data = fgetcsv($handle, 1000, ",")) !== false) { 
     $compareid = $data[0]; 
     $date = $data[1]; 
     $first = $data[5]; 
     $last = $data[6]; 
     $city = $data[7]; 
     $fundedamount = $data[10]; 
     $xmlstatus = $data[13]; 
     $custtestid = substr($compareid, 0, 11); 

我的問題是如何使用php在cronjob上運行來獲取.csv文件。這樣我就可以使用我現有的代碼來處理文件以及我正在查找的文件,如何自動執行獲取文件的過程。任何幫助都是非常棒的!非常感謝。 Jason

+0

我想問一個這個問題更簡單的方法,我可以以某種方式使用電子郵件附件中的fgetcsv? – user1789437 2013-02-18 23:38:42

回答

0

對於此解決方案,您需要使用IMAP訪問郵箱。很可能,這已經得到支持。

接下來,您可以將文件附件抓取到$ data變量中(無需保存)。看到這個獎勵答案:Retrieving file attachment。然後,您應該能夠使用您的代碼創建您的csv(當然,您現在已經將其放入了一個功能,對吧?:))如果您有關於通過IMAP訪問郵件的問題,請搜索StackOverflow,使用示例PHP Manual,然後發佈任何新問題。

+0

非常感謝! – user1789437 2013-02-19 15:58:40