首頁 >後端開發 >PHP問題 >php怎麼將內容轉換成圖片

php怎麼將內容轉換成圖片

藏色散人
藏色散人原創
2021-07-03 14:37:593217瀏覽

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影片教學

以上是php怎麼將內容轉換成圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn