2010-07-10 34 views
0

我在Zend中建立一個站點,需要能夠通過文件上傳上傳電子郵件地址列表。這將最終填充通訊組列表表格。Zend文件上傳 - 訪問文件中的數據

我想要做的是讓用戶完成表格,包括附件,然後在提交時,我將解析文件併爲文件的每一行提交表單。

Ex。用戶使用通訊組列表名稱填寫表格並上傳文件(正確格式化)

提交時,我需要解析每個電子郵件地址的文件,然後將一行數據添加到具有通訊組列表名稱的表中和一個新的地址。

任何想法,我接受所有的建議。

感謝您的幫助,你們是真棒

回答

1

假設你實際上得到的文件到服務器已經(在the manual描述的),那麼你就沒有真正處理一個Zend的,甚至是上傳,發佈,更多。你只是在處理「讀取和解析文件中的數據」問題。

開始通過查看PHP的​​

假設你的文件不是很大,和你有每行一個電子郵件地址,你可以這樣做:

<?PHP 
$data = file_get_contents('/path/to/your/uploaded/file'); 
$data = explode("\n",$data); 
foreach($data as $address){ 
    //validate each address, and if valid, safely insert into your database 
} 

,如果你已經在該文件中有數千個電子郵件地址,您可能希望避免一次將它們全部加載到內存中。在這種情況下,每行使用fopen和loop/fgets

如果您需要解析CSV數據,fgetcsv將爲您節省許多麻煩。

請參閱上述鏈接的PHP手冊頁上的代碼示例,以獲取有關循環文件數據的更多指導。

+0

謝謝添, 我從來沒有想過從這個角度來看。 – 2010-07-23 23:04:33