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?