PHP 8.2.30
Preview: 006.phpt Size: 2.26 KB
//opt/alt/tests/alt-php85-pecl-mailparse_3.1.8-2.el8/tests/006.phpt

--TEST--
Check extract_part_file
--SKIPIF--
<?php
/* vim600: sw=4 ts=4 fdm=marker syn=php
*/
if (!extension_loaded("mailparse")) @dl("mailparse.so");
if (!extension_loaded("mailparse")) print "skip"; ?>
--POST--
--GET--
--FILE--
<?php
if (!extension_loaded("mailparse")) @dl("mailparse.so");
$text = <<<EOD
To: fred@bloggs.com
Mime-Version: 1.0
Content-Type: text/plain
Subject: A simple MIME message

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

EOD;

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


$mime = mailparse_msg_create();
mailparse_msg_parse($mime, $text);

echo "Extract to output\n";
mailparse_msg_extract_part_file($mime, $fp);

echo "Extract and return as string\n";
$result = mailparse_msg_extract_part_file($mime, $fp, null);
echo "-->\n";
echo $result;

echo "\nExtract to open file\n";
$fpdest = tmpfile();
mailparse_msg_extract_part_file($mime, $fp, $fpdest);
echo "\nrewinding\n";
rewind($fpdest);
fpassthru($fpdest);

echo "\nExtract via user function\n";
$cbdata = "";
function callbackfunc($data) {
	$GLOBALS["cbdata"] .= $data;
}
mailparse_msg_extract_part_file($mime, $fp, "callbackfunc");
echo "callback data is:\n";
var_dump($cbdata);

echo "\nExtract via Closure\n";
$cbdata = "";
$callbackfunc = function ($data) {
	$GLOBALS["cbdata"] .= $data;
};
mailparse_msg_extract_part_file($mime, $fp, $callbackfunc);
echo "callback data is:\n";
var_dump($cbdata);

echo "\nExtract whole part to output\n";
mailparse_msg_extract_whole_part_file($mime, $fp);

echo "\nExtract part from string to output\n";
mailparse_msg_extract_part($mime, $text);
fclose($fpdest);
fclose($fp);

?>
--EXPECT--
Extract to output
hello, this is some text hello.
blah blah blah.
Extract and return as string
-->
hello, this is some text hello.
blah blah blah.

Extract to open file

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

Extract via user function
callback data is:
string(48) "hello, this is some text hello.
blah blah blah.
"

Extract via Closure
callback data is:
string(48) "hello, this is some text hello.
blah blah blah.
"

Extract whole part to output
To: fred@bloggs.com
Mime-Version: 1.0
Content-Type: text/plain
Subject: A simple MIME message

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

Extract part from string to output
hello, this is some text hello.
blah blah blah.

Directory Contents

Dirs: 1 × Files: 28

Name Size Perms Modified Actions
testdata DIR
- drwxr-xr-x 2026-01-17 08:06:54
Edit Download
328 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
571 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
597 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
765 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
948 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
2.26 KB lrw-r--r-- 2025-12-23 21:47:23
Edit Download
1.15 KB lrw-r--r-- 2025-12-23 21:47:23
Edit Download
354 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
896 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
1.27 KB lrw-r--r-- 2025-12-23 21:47:23
Edit Download
678 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
476 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
465 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
435 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
354 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
685 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
909 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
705 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
2.10 KB lrw-r--r-- 2025-12-23 21:47:23
Edit Download
542 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
424 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
935 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
1.60 KB lrw-r--r-- 2025-12-23 21:47:23
Edit Download
1.76 KB lrw-r--r-- 2025-12-23 21:47:23
Edit Download
710 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
598 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
837 B lrw-r--r-- 2025-12-23 21:47:23
Edit Download
4.66 KB lrw-r--r-- 2025-12-23 21:47:23
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).