2016-12-01 2 views
0
<?php 
    $arr = ['data:image/jpeg;base64,/9j/4AAQSkZJR....', 
    '....','....','..pPKf56CT/9k=', 
    ]; 

    $arrSize=sizeof($arr); 

    for ($i=0;$i<$arrSize;$i++){ 
     echo $i; 
     $data = base64_decode($arr[$i]); 
     //echo " ".$data."</br>"; 
     file_put_contents('image.png', $data,FILE_APPEND | LOCK_EX); 
    } 
?> 

Ich kann das erstellte Bild nicht öffnen, und die Dateigröße, die erstellt wird, ist fast 1 MB. Ich habe eine TXT-Datei erstellt, die sich gut mit den entschlüsselten Daten öffnet.Wie erstelle ich ein Bild, vorzugsweise .png, aus einem Array mit Blob-Daten, die in 4 Elemente aufgeteilt sind?

Antwort

0

Beachten Sie, dass das erste Element im Array ein wenig Aufräumen benötigt (all das "Datum: Bilder ..." entfernt). Außerdem ist es am besten, die codierte Zeichenfolge vor dem Decodieren zu "kleben". Hier ist der Code, der den Trick macht:

$filename='image.png'; 
$arrSize=count($arr); 
$data=substr($arr[0],strpos($arr[0],',')+1); 
for($i=1;$i<$arrSize;$i++) $data.=$arr[$i]; 
file_put_contents($filename,base64_decode($data)); 
Verwandte Themen