Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php怎么将内容转换成图片

php怎么将内容转换成图片

藏色散人
藏色散人asal
2021-07-03 14:37:593175semak imbas

php将内容转换成图片的方法:1、通过正则提取出dataurl存储所需的数据,然后直接展示在页面上;2、用substr和strpos方法保存图片到本地。

php怎么将内容转换成图片

本文操作环境: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存储所需的数据,然后直接展示在页面上

 

         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
         ;

 方法二:

如果仅仅是想保存图片到本地,可以用substr 和 strpos 方法

 

       $imgdata 
          = 
         substr
         (
         $imgstr
         ,
         strpos
         (
         $imgstr
         ,
         ","
         ) + 1);
        
 
         $decodedData 
          = 
         base64_decode
         (
         $imgdata
         );
        
 
         file_put_contents
         (
         '11.png'
         ,
         $decodedData 
          );

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci php怎么将内容转换成图片. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn