2013-02-17 72 views
0

我知道,有处理csv文件的每一行的fgetcsv函数。但是如果我没有文件,但是通过imap php函数从电子邮件获取的附件(字符串?)(如imap_fetchstructure,imap_fetchbody,imap_base64 ...)。PHP:从imap附件获取的进程CSV

有没有简单的可能性,还是我必须手动处理?

+0

那么你可以创建一个临时文件,效果显着。 – arkascha 2013-02-17 12:31:35

+1

如果你有PHP> = 5.3.0,你可以使用http://www.php.net/manual/de/function.str-getcsv.php – 2013-02-17 12:33:24

回答

3

另外还有str_getcsv功能(从PHP> = 5.3)

+0

multiline csv呢?我试过'str_getcsv($ attach,“,”,“\ r \ n”)''。这不会得到'“\ r \ n”'我想。接下来尝试了'array_chunk(str_getcsv($ attach,“,”),9);'但是这会从第一行和第一行的第一行输入最后一个条目作为一个字符等。 如何将它与行分开(多维数组)或者我可以通过像mysql_fetch_array一样的while循环吗? – koubin 2013-02-17 18:46:10

+0

我解决了它 '$ lines = explode(“\ n”,$ attach); foreach($ lines as $ row){ $ data = str_getcsv($ row); ... }' 我知道这不是很清楚,也许像双'爆炸',但似乎它适用于我 – koubin 2013-02-17 21:45:21