base64_decode 


string apg

DECODES a data, previously encoded by the  base64_encode  function.




CPAN apr


<?php

string
|false base64_decode string $stringbool $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($fp8000);
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($allbase64false)));
echo 
'<br><br>';
var_dump(bin2hex(base64_decode($allbase64true)));

?>

  4 EXERCISE   

<?php

echo "Decode 'hello world!':<br><br>";

$noWhiteSpace "aGVsbG8gd29ybGQh";
var_dump(base64_decode($noWhiteSpace));
echo 
'<br><br>'
var_dump(base64_decode($noWhiteSpacefalse));
echo 
'<br><br>'
var_dump(base64_decode($noWhiteSpacetrue));

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($withWhiteSpacefalse));
echo 
'<br><br>'
var_dump(base64_decode($withWhiteSpacetrue));

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($badCharsfalse));
echo 
'<br><br>'
var_dump(base64_decode($badCharstrue));

?>