imap_savebody
(PHP 5 >= 5.1.3, PHP 7, PHP 8)
imap_savebody — Save a specific body section to a file
说明
imap_savebody(
IMAP\Connection
resource|string|int
int
string
int
): bool
IMAP\Connection
$imap,resource|string|int
$file,int
$message_num,string
$section = "",int
$flags = 0): bool
Saves a part or the whole body of the specified message.
参数
-
imap IMAP\Connection 实例。
file-
The path to the saved file as a string, or a valid file descriptor returned by fopen().
message_num-
The message number
section-
The part number. It is a string of integers delimited by period which index into a body part list as per the IMAP4 specification
flags-
A bitmask with one or more of the following:
-
FT_UID- Themessage_numis 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.
-
更新日志
| 版本 | 说明 |
|---|---|
| 8.1.0 |
现在 imap 参数接受 IMAP\Connection
实例,之前接受有效的 imap resource。
|
+添加备注
用户贡献的备注 1 note
anon ¶
12 years ago
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.备份地址:http://www.lvesu.com/blog/php/function.imap-savebody.php