imap_savebody
(PHP 5 >= 5.1.3)
imap_savebody — Save a specific body section to a file
Описание
$imap_stream
, mixed $file
, int $msg_number
[, string $part_number
= ""
[, int $options
= 0
]] )Saves a part or the whole body of the specified message.
Список параметров
-
imap_stream
-
Поток IMAP, полученный из imap_open().
-
file
-
The path to the saved file as a string, or a valid file descriptor returned by fopen().
-
msg_number
-
The message number
-
part_number
-
The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification
-
options
-
A bitmask with one or more of the following:
-
FT_UID
- Themsg_number
is a UID -
FT_PEEK
- Do not set the \Seen flag if not already set -
FT_INTERNAL
- The return string is in internal format, will not canonicalize to CRLF.
-
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с почтой
- IMAP, POP3 и NNTP
- imap_8bit
- imap_alerts
- imap_append
- imap_base64
- imap_binary
- imap_body
- imap_bodystruct
- imap_check
- imap_clearflag_full
- imap_close
- imap_create
- imap_createmailbox
- imap_delete
- imap_deletemailbox
- imap_errors
- imap_expunge
- imap_fetch_overview
- imap_fetchbody
- imap_fetchheader
- imap_fetchmime
- imap_fetchstructure
- imap_fetchtext
- imap_gc
- imap_get_quota
- imap_get_quotaroot
- imap_getacl
- imap_getmailboxes
- imap_getsubscribed
- imap_header
- imap_headerinfo
- imap_headers
- imap_last_error
- imap_list
- imap_listmailbox
- imap_listscan
- imap_listsubscribed
- imap_lsub
- imap_mail_compose
- imap_mail_copy
- imap_mail_move
- imap_mail
- imap_mailboxmsginfo
- imap_mime_header_decode
- imap_msgno
- imap_num_msg
- imap_num_recent
- imap_open
- imap_ping
- imap_qprint
- imap_rename
- imap_renamemailbox
- imap_reopen
- imap_rfc822_parse_adrlist
- imap_rfc822_parse_headers
- imap_rfc822_write_address
- imap_savebody
- imap_scan
- imap_scanmailbox
- imap_search
- imap_set_quota
- imap_setacl
- imap_setflag_full
- imap_sort
- imap_status
- imap_subscribe
- imap_thread
- imap_timeout
- imap_uid
- imap_undelete
- imap_unsubscribe
- imap_utf7_decode
- imap_utf7_encode
- imap_utf8
Коментарии
By using imap_fetchbody() you may run in trouble by using too much memory. Using imap_savebody() may prevent this.
But the content will be encoded, in other words it is useless. Adding a filter can help here.
<?php
$whandle = fopen('./incomming/tmp.tif','w');
stream_filter_append($whandle,
'convert.base64-decode',STREAM_FILTER_WRITE);
imap_savebody ($mbox, $whandle, $i, $partcounter++);
fclose($whandle);
?>
NOTE: To find the proper filter you need to check the encoding given by the structure of the body.