base64_decode 


string apg

DECODES a data, previously encoded by the  base64_encode  function.




CPAN apr


<?php

string
|false base64_decode ( string $string, bool $strict = false )


where,


$string = The base64 encoded to be decoded

$strict 
= To control whether there are characters 
              inside 
or outside the Base64 alphabet.


?>

  $string   


The base64 encoded to be decoded.



 $strict 


If $strict = TRUE this functions returns FALSE if $string contains character from outside the base64 alphabet.

Otherwise invalid characters will be silently discarded.

Returns the decoded data or FALSE on failure.

The returned data may be binary.


 BASE64 alphabet 


base64_encode Is designed to allow binary data transfer in 8-bit layers to be handled in layers that are not truly 8-bit.


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


  1 EXERCISE   

<?php

$strbase64_it_02 
=
'Li4uIMOoIGJlbmUgdHJvdmF0byE=';

$str_it_02 = 
base64_decode($strbase64_it_02);

echo 
$str_it_02

?>

 RESULT   

Li4uIMOoIGJlbmUgdHJvdmF0byE=

...è bene trovato!



  2 EXERCISE   

<?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">


 RESULT   

star apr

  3 EXERCISE   

<?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)));

?>

  4 EXERCISE   

<?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));

?>