PHP 將dataurl轉換成圖片image方法
使用canvas 產生的圖片,是使用dataurl的,php無法直接透過file_put_contents方法儲存到本機,需要做一下轉碼。
圖片dataurl 如下
$imgstr = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKEACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKEAFF4F45076666SFF37038SYF4F4F4F4F4F4F4F4F47;
方法一:透過正規提取dataurl儲存所需的數據,然後直接展示頁面上if (!preg_match('/data:([^;]*);base64,(.*)/', $imgstr, $matches)) { die("error"); } $content = base64_decode($matches[2]); header('Content-Type: '.$matches[1]); header('Content-Length: '.strlen($content)); echo $content; die;
$imgdata = substr($imgstr,strpos($imgstr,",") + 1); $decodedData = base64_decode($imgdata); file_put_contents('11.png',$decodedData );