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

我无法打开创建的图像,创建的文件大小接近 1mb。我创建了一个 txt 文件,可以用解码后的数据正常打开。

4

1 回答 1

0

请注意,数组中的第一项需要进行一些清理(删除所有“日期:图像...”)。此外,最好在解码之前“粘合”编码的字符串。这是可以解决问题的代码:

$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));
于 2016-12-01T07:49:06.130 回答