ik wordt er een beetje scheel van.. ik heb een script wat automatisch mailtjes via IMAP moet fetchen en in een db moet opslaan. Ik heb geen in weet-ik-het-hoeveel GB's aan attachments in de db, dus deze wil ik los opslaan op de harddisk.
Eerst maar even wat ik al heb:
Op zich gaat alles goed. Alle variabelen worden gevonden. Het bestand op de schijf wordt aangemaakt, maar blijft vervolgens 0 bytes groot. Iemand die me even een duw in de goede richting kan geven?
Eerst maar even wat ik al heb:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| for($x=$total;$x>$total-10;$x--) { /* Fetch IMAP structure */ $imap_headers = imap_header($inbox, $x); $imap_structure = imap_fetchstructure($inbox, $x); /* Save all attachments */ $parts = $imap_structure->parts; for($i=0;$i<sizeof($parts);$i++) { /* Only save if an attachment */ if((isset($parts[$i]->disposition)) && ($parts[$i]->disposition == "attachment")) { /* Fetch filename */ if((isset($parts[$i]->dparameters)) && (sizeof($parts[$i]->dparameters) > 0)) { foreach($parts[$i]->dparameters as $p) { if($p->attribute == "filename") { $filename = $p->value; } } /* Write file */ $fp2 = fopen("../attachments/".time()."-".$filename, "w"); fwrite($fp2, imap_fetchbody($inbox, $x, $parts[$i])); fclose($fp2); } } } |
Op zich gaat alles goed. Alle variabelen worden gevonden. Het bestand op de schijf wordt aangemaakt, maar blijft vervolgens 0 bytes groot. Iemand die me even een duw in de goede richting kan geven?