php将内容转换成图片的方法:1、通过正则提取出dataurl存储所需的数据,然后直接展示在页面上;2、用substr和strpos方法保存图片到本地。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php怎么将内容转换成图片?PHP 将dataurl转成图片image方法
使用canvas 生成的图片,是使用dataurl的,php无法直接通过file_put_contents方法保存到本地电脑,需要做一下转码。
图片dataurl 如下
$imgstr = ‘data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==‘;
方法一:
通过正则提取出dataurl存储所需的数据,然后直接展示在页面上
1 if 2 3 (!preg_match( 4 5 ‘/data:([^;]*);base64,(.*)/‘ 6 7 , 8 9 $imgstr 10 11 , 12 13 $matches 14 15 )) { 16 17 18 19 20 21 22 23 die 24 25 ( 26 27 "error" 28 29 ); 30 31 32 33 34 35 } 36 37 38 39 40 41 42 43 44 45 46 47 $content 48 49 = 50 51 base64_decode 52 53 ( 54 55 $matches 56 57 [2]); 58 59 60 61 62 63 header( 64 65 ‘Content-Type: ‘ 66 67 . 68 69 $matches 70 71 [1]); 72 73 74 75 76 77 header( 78 79 ‘Content-Length: ‘ 80 81 . 82 83 strlen 84 85 ( 86 87 $content 88 89 )); 90 91 92 93 94 95 96 97 98 99 100 101 echo 102 103 $content 104 105 ; 106 107 108 109 110 111 die 112 113 ;
方法二:
如果仅仅是想保存图片到本地,可以用substr 和 strpos 方法
1 $imgdata 2 3 = 4 5 substr 6 7 ( 8 9 $imgstr 10 11 , 12 13 strpos 14 15 ( 16 17 $imgstr 18 19 , 20 21 "," 22 23 ) + 1); 24 25 26 27 28 29 $decodedData 30 31 = 32 33 base64_decode 34 35 ( 36 37 $imgdata 38 39 ); 40 41 42 43 44 45 file_put_contents 46 47 ( 48 49 ‘11.png‘ 50 51 , 52 53 $decodedData 54 55 );
以上就是php怎么将内容转换成图片的详细内容。(拼多多培训)