有人能为我指出如何使用php从电子邮件中获取附件的正确方向吗?我已经在使用php成功地处理一个相当大的.csv文件,并根据条件执行不同的操作。它运行得很好,但我现在被要求每天自动下载几次包含新.csv文件的电子邮件。
使用这个作为我的代码的开始,一旦我下载了.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);
我的问题是如何使用运行在cronjob上的php获取.csv文件。通过这种方式,我可以使用我现有的处理文件的代码以及我正在寻找的内容,以及如何自动化获取文件的过程。。任何帮助都将是伟大的!非常感谢。Jason
对于此解决方案,您需要使用IMAP访问邮箱。很可能,这已经得到了支持。
接下来,您可以将文件附件抓取到$data变量中(无需保存)。请参阅以下答案:检索文件附件。然后,你应该能够使用你的代码创建csv(当然,你现在已经把它放进了一个函数中,对吧?:))如果你对通过IMAP访问邮件有问题,请搜索StackOverflow,使用PHP手册中的示例进行尝试,然后发布任何新问题。