使用canvas 生成的图片,是使用dataurl的,php无法直接通过file_put_contents方法保存到本地电脑,需要做一下转码。
图片dataurl 如下
$imgstr = ‘data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==‘;
方法一:
通过正则提取出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 );原文:http://www.cnblogs.com/wanghanlin/p/5959052.html