<?php
str base64_decode ( str $data [, bool $strict = FALSE ] )
Where,
$data = The base64 encoded to be decoded
$strict = To control whether there are characters
inside or outside the Base64 alphabet.
?>
Base64 alphabet | |||||||
0 | A | 16 | Q | 32 | g | 48 | w |
1 | B | 17 | R | 33 | h | 49 | x |
2 | C | 18 | S | 34 | i | 50 | y |
3 | D | 19 | T | 35 | j | 51 | z |
4 | E | 20 | U | 36 | k | 52 | 0 |
5 | F | 21 | V | 37 | l | 53 | 1 |
6 | G | 22 | W | 38 | m | 54 | 2 |
7 | H | 23 | X | 39 | n | 55 | 3 |
8 | I | 24 | Y | 40 | o | 56 | 4 |
9 | J | 25 | Z | 41 | p | 57 | 5 |
10 | K | 26 | a | 42 | q | 58 | 6 |
11 | L | 27 | b | 43 | r | 59 | 7 |
12 | M | 28 | c | 44 | s | 60 | 8 |
13 | N | 29 | d | 45 | t | 61 | 9 |
14 | O | 30 | e | 46 | u | 62 | + |
15 | P | 31 | f | 47 | v | 63 | / |
64 | = | ||||||
ed48 |
<?php
$strbase64_it_02 =
'Li4uIMOoIGJlbmUgdHJvdmF0byE=';
$str_it_02 =
base64_decode($strbase64_it_02);
echo $str_it_02
?>
<?php
$fp = fopen('starpx.dat', "r");
$img_str = fread($fp, 8000);
fclose($fp);
?>
<img src="data:image/png;base64, <?php echo $img_str; ?>" alt="star apr">
<?php
echo "Decode an input string containing the
whole base64 alphabet:<br><br>";
$allbase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
+/VV==";
var_dump(bin2hex(base64_decode($allbase64)));
echo '<br><br>';
var_dump(bin2hex(base64_decode($allbase64, false)));
echo '<br><br>';
var_dump(bin2hex(base64_decode($allbase64, true)));
?>
<?php
echo "Decode 'hello world!':<br><br>";
$noWhiteSpace = "aGVsbG8gd29ybGQh";
var_dump(base64_decode($noWhiteSpace));
echo '<br><br>';
var_dump(base64_decode($noWhiteSpace, false));
echo '<br><br>';
var_dump(base64_decode($noWhiteSpace, true));
echo "<br><br>Whitespace does not affect base64_decode,
even with \$strict===true:<br>";
$withWhiteSpace = "a GVs bG8gd2
9ybGQh";
var_dump(base64_decode($withWhiteSpace));
echo '<br><br>';
var_dump(base64_decode($withWhiteSpace, false));
echo '<br><br>';
var_dump(base64_decode($withWhiteSpace, true));
echo "<br><br>Other chars outside the base64 alphabet
are ignored when \$strict===false,
but cause failure with \$strict===true:<br>";
$badChars = $noWhiteSpace . '*';
var_dump(base64_decode($badChars));
echo '<br><br>';
var_dump(base64_decode($badChars, false));
echo '<br><br>';
var_dump(base64_decode($badChars, true));
?>