note 40498 deleted from function.base64-encode by nlopess
| From: | nlopess@php.net | Date: | Fri, 05 Mar 2004 18:01:38 +0000 |
| Subject: | note 40498 deleted from function.base64-encode by nlopess | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-66310@lists.php.net to get a copy of this message | ||
Note Submitter: webmaster@seymoursolutions.com
----
Here's a PHP function that does the same thing as base64_encode() ...
<?php
function base64encode($str) {
$base = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
$len = strlen($str);
$i = 0;
$out = '';
while( $i < $len ) {
$c1 = ord(substr($str, $i++, 1)) & 0xff;
if( $i == $len) {
$out .= substr($base, $c1 >> 2, 1);
$out .= substr($base, ($c1 & 0x3) << 4, 1);
$out .= '==';
break;
}
$c2 = ord(substr($str, $i++, 1));
if( $i == $len ) {
$out .= substr($base, $c1 >> 2, 1);
$out .= substr($base, (($c1 & 0x3)<< 4) | (($c2 & 0xF0) >> 4), 1);
$out .= substr($base, ($c2 & 0xF) << 2, 1);
$out .= '=';
break;
}
$c3 = ord(substr($str, $i++, 1));
$out .= substr($base, $c1 >> 2, 1);
$out .= substr($base, (($c1 & 0x3)<< 4) | (($c2 & 0xF0) >> 4), 1);
$out .= substr($base, (($c2 & 0xF) << 2) | (($c3 & 0xC0) >>6), 1);
$out .= substr($base, $c3 & 0x3F, 1);
}
return $out;
}
?>