base64
Upload Formular um eine Grafik via Base64 zu codieren
|
Script: |
<?php
/**
* Ein einfaches Upload-Formular um ein Grafik per
* base64 zu kodieren und direkt im Code abzulegen.
*/
// maximale Dateigröße die verarbeitet wird
$maxsize = 200000;
// Breite zur Formatierung der bas64-Daten (nur zur besseren Darstellung)
$maxwidth = 80;
if (!empty($_FILES)){
if ($_FILES['theimage']['size'] > $maxsize){
die ('maximale Grösse überschritten');
}
$tmp = file_get_contents( $_FILES['theimage']["tmp_name"])
OR die ('Kann Datei nicht öffnen');
$size = getimagesize($_FILES['theimage']["tmp_name"])
OR die ('Nur Bilddateien möglich');
$data = wordwrap(base64_encode($tmp), $maxwidth, "\n", 1);
echo <<< IMGDATA
<pre>
<?php
// Ein Bild direkt im Quelltext speichern und ausgeben
// Name : {$_FILES['theimage']['name']}
// Breite : {$size[0]}
// Höhe : {$size[1]}
// Bytes : {$_FILES['theimage']['size']}
// Bilddaten base64 kodiert
$TheImage = <<< EOT
$data
EOT;
header('Content-type: {$size['mime']}');
header('Content-Disposition: inline; filename={$_FILES['theimage']['name']}');
echo base64_decode($TheImage);
?>
</pre>
IMGDATA;
} else {
echo <<< EOT
<form action="{$_SERVER['PHP_SELF']}" method="post" enctype="multipart/form-data">
<input type="file" name="theimage"><input type="submit" value="Bild hochladen">
</form>
EOT;
}
?>
|
|