note 70826 added to ref.stream
| From: | marcus at synchromedia dot co dot uk | Date: | Mon, 30 Oct 2006 18:16:14 +0000 |
| Subject: | note 70826 added to ref.stream | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-119248@lists.php.net to get a copy of this message | ||
As this article says, there is no quoted_printable_encode function() in PHP: http://www.zend.com/manual/filters.convert.php
However there is a stream filter for quoted printable encoding. Here's an example function that
produces output suitable for email and doesn't explicitly use external files (though it might
do for strings over 2Mb due to the nature of the temp stream type):
<?php
function quoted_printable_encode($string) {
$fp = fopen('php://temp/', 'r+');
$params = array('line-length' => 70, 'line-break-chars' =>
"\r\n");
stream_filter_append($fp, 'convert.quoted-printable-encode', STREAM_FILTER_READ,
$params);
fputs($fp, $string);
rewind($fp);
return stream_get_contents($fp);
}
echo quoted_printable_encode(str_repeat("hello there ", 50)."
a=1\r\n")."\n";
?>
The filter needs to be restricted to STREAM_FILTER_READ because by default it will get filtered both
going into and out of the stream, and will thus get encoded twice.
It should be much faster than using a PHP implementation of the same thing, though note that this
will only work in PHP 5.1+.
----
Server IP: 85.116.0.130
Probable Submitter: 87.74.30.27
----
Manual Page -- http://www.php.net/manual/en/ref.stream.php
Edit -- https://master.php.net/note/edit/70826
Del: integrated -- https://master.php.net/note/delete/70826/integrated
Del: useless -- https://master.php.net/note/delete/70826/useless
Del: bad code -- https://master.php.net/note/delete/70826/bad+code
Del: spam -- https://master.php.net/note/delete/70826/spam
Del: non-english -- https://master.php.net/note/delete/70826/non-english
Del: in docs -- https://master.php.net/note/delete/70826/in+docs
Del: other reasons-- https://master.php.net/note/delete/70826
Reject -- https://master.php.net/note/reject/70826
Search -- https://master.php.net/manage/user-notes.php