PHP Conference Nagoya 2025

mailparse_uudecode_all

(PECL mailparse >= 0.9.0)

mailparse_uudecode_all Сканирует данные из указанного файла и извлекает все вложенные файлы, кодированные в uuencode

Описание

mailparse_uudecode_all(resource $fp): array

Сканирует данные из указанного файла и извлекает все вложенные файлы, кодированные в uuencode, во временные файлы.

Список параметров

fp

Файловый дескриптор.

Возвращаемые значения

Возвращает ассоциативный массив, содержащий информацию по извлечённым файлам.

filename Путь к созданному временному файлу
origfilename Оригинальное имя файла, только для кодированных uuencode
Первый элемент будет содержать тело сообщения. Все последующие - информацию по извлечённым вложениям.

Примеры

Пример #1 Пример использования mailparse_uudecode_all()

<?php

$text
= <<<EOD
To: fred@example.com

hello, this is some text hello.
blah blah blah.

begin 644 test.txt
/=&AI<R!I<R!A('1E<W0*
`
end

EOD;

$fp = tmpfile();
fwrite($fp, $text);

$data = mailparse_uudecode_all($fp);

echo
"BODY\n";
readfile($data[0]["filename"]);
echo
"UUE ({$data[1]['origfilename']})\n";
readfile($data[1]["filename"]);

// Очищаем
unlink($data[0]["filename"]);
unlink($data[1]["filename"]);

?>

Результат выполнения приведённого примера:

BODY
To: fred@example.com

hello, this is some text hello.
blah blah blah.

UUE (test.txt)
this is a test

Добавить

Примечания пользователей 1 note

up
0
mat at phpconsulting dot com
21 years ago
As an alternative, uudecode() can be called as static function as follows:

$file =& Mail_mimeDecode::uudecode($some_text);

This will return the following arrays:
@param string Input body to look for attachments in
@return array Decoded bodies, filenames and permissions
To Top