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

생성 된 이미지를 열 수 없으며 생성 된 파일 크기가 거의 1MB입니다. 디코딩 된 데이터로 잘 열리는 txt 파일을 만들었습니다.4 개 요소로 분할 된 BLOB 데이터가 포함 된 배열에서 이미지 (선호하는 .png)를 어떻게 만듭니 까?

답변

0

배열의 첫 번째 항목에는 약간의 정리 ('date : images ...'를 모두 제거해야 함)가 필요합니다. 또한 인코딩 된 문자열을 디코딩하기 전에 '붙이기'하는 것이 가장 좋습니다. 트릭을 수행 할 코드는 다음과 같습니다.

$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)); 
관련 문제