\nFAILLED! ".imap_last_error());
// The IMAP.xml file contains the email address and user_id of the users that we accept
// their files via email
$xml = simplexml_load_string(file_get_contents('IMAP.xml'));
$result = $xml->xpath («деталь ");
пока (список (, $node) = каждое ($result)) {
$email = $node->LI_email;
$user_id = $node->LI_user_id;
$SEARCH = «НЕВИДЕННОЕ ОТ \ «$EMAIL \ "";
$result2 = imap_search ($mailbox, $search);
если ($result2) {, то
$index = $result2 [0];
$structure = imap_fetchstructure ($mailbox, $index);
$attachments = блок ();
если (отсчет, то && isset ($structure->parts) ($structure->parts)) {
для ($i = 0; части < count="">$i); $i++) {
$attachments [$i] = блок (
=> «is_attachment» ложное,
«filename» => '',
«имя» => '',
«приложение» => '');
если ($structure->parts [$i] - >ifdparameters) {, то
foreach ($structure->parts [$i] - >dparameters как $object) {
если (filename == strtolower ($object->attribute) «") {, то
$attachments [$i] [«is_attachment»] = true;
$attachments [$i] [«filename»] = $object->value;
}
}
}
если ($structure->parts [$i] - >ifparameters) {, то
foreach ($structure->parts [$i] - >parameters как $object) {
если (имя == strtolower ($object->attribute) «") {, то
$attachments [$i] [«is_attachment»] = true;
$attachments [$i] [«имя»] = $object->value;
}
}
}
если ($attachments [$i] [«is_attachment»]) {, то
$attachments [$i] [«приложение»] = imap_fetchbody ($mailbox, $index, $i+1, FT_PEEK);
если ($structure->parts [$i] - >encoding == 3), то {// 3 = BASE64
$attachments [$i] [«приложение»] = base64_decode ($attachments [$i] [«приложение»]);
}
elseif ($structure->parts [$i] - >encoding == 4) {// 4 = QUOTED-PRINTABLE
$attachments [$i] [«приложение»] = quoted_printable_decode ($attachments [$i] [«приложение»]);
}
} // если ($attachments, то [$i] [«is_attachment»])
} // для ($i = 0; части < count="">$i); $i++)
} // если (отсчет, то && isset ($structure->parts) ($structure->parts))
для ($i = 0; $i < count=""> 0) {
$path_parts = pathinfo ($attachments [$i] [«filename»]);
если (strtolower ($path_parts [застежка-молния == «выдвижения»]) «") {, то
// я иду сделать что-то по-разному с ziped архивами
} еще {
$filename = «file_uploads/». $user_id. «_». $path_parts [«filename»]. «_» .date («m_d_Y "). «.». $path_parts [«выдвижение»];
$fp = fopen ($filename, «x»);
fwrite ($fp, $attachments [$i] [«приложение»]);
fclose ($fp);
} // если (strtolower ($path_parts [застежка-молния == «выдвижения»]) «")
} // если (strlen, то (уравновешивание ($attachments [«имя»])) > 0
} // для ($i = 0; $i < count="">
|