PHP 8.4.1 Released!

imap_savebody

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

imap_savebodyBelirtilen iletinin gövdesini bir dosyaya kaydeder

Açıklama

imap_savebody(
    IMAP\Connection $imap,
    resource|string|int $dosya,
    int $ileti_num,
    string $parçanum = "",
    int $seçenekler = 0
): bool

Belirtilen ileti gövdesinin belirtilen parçasını bir dosyaya kaydeder.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

dosya

Bir dizge olarak ileti parçasının kaydedileceği dosyanın yolu veya fopen() tarafından döndürülmüş geçerli bir dosya tanıtıcısı.

ileti_num

İleti numarası.

parçanum

Parça numarası. IMAP4 belirtimine uygun olarak bir gövde parça listesi içindeki indisleri nokta ile ayrılmış tamsayılar biçeminde içeren bir dizge.

seçenekler

Şunlardan gerekenleri içeren bir bit maskesidir:

  • FT_UID - ileti_num bir eşsiz kimliktir.
  • FT_PEEK - \Seen imi tanımlıysa bir daha tanımlanmaz.
  • FT_INTERNAL - CRLF ile meşrulaştırılmamış olarak dizgeyi dahili biçemde döndürür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.1.0 imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_fetchbody() - Belirtilen iletinin belli bir gövde bölümünü döndürür

add a note

User Contributed Notes 1 note

up
13
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.
To Top