2017-12-26 11 views
0

자른 이미지가 있습니다. src는 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAY....입니다. 이 URL을 클릭하면 내 시스템에서 열리고 다른 시스템에서는 열리지 않습니다. 폴더로 이동하여 저장하는 방법? 의이미지를 폴더에 저장하는 방법

+1

https://stackoverflow.com/questions/11511511/how-to-save-a-png-image-server-side-from-a-base64-data-string – TarangP

+0

가능한 복제 [방법 base64 데이터 문자열에서 PNG 이미지 서버 측 저장] (https://stackoverflow.com/questions/11511511/how-to-save-a-png-image-server-side-from-a-base64-data) -끈) –

답변

0
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) { 
//THIS FOR VALIDATION(CHECK VALID BASE64) 
    $data = substr($data, strpos($data, ',') + 1); 
    $type = strtolower($type[1]); // jpg, png, gif 
    //GET FILE NAME AND EXTENSION 

    if (!in_array($type, [ 'jpg', 'jpeg', 'gif', 'png' ])) { 
     throw new \Exception('invalid image type'); 
    } 
    //EXTENSION VALIDATION 

    $data = base64_decode($data); 
    //DECODE DATA 

    if ($data === false) { 
     throw new \Exception('base64_decode failed'); 
    } 

} else { 
    throw new \Exception('did not match data URI with image data'); 
} 

file_put_contents("img.{$type}", $data); 
//FINALLY GET IMAGE