ホームページ  >  記事  >  バックエンド開発  >  PHPでコンテンツを画像に変換する方法

PHPでコンテンツを画像に変換する方法

藏色散人
藏色散人オリジナル
2021-07-03 14:37:593155ブラウズ

コンテンツを画像に変換する

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==';

方法 1:

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
         ;

方法 2:

画像をローカルに保存したいだけの場合は、substr メソッドと strpos メソッドを使用できます

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

推奨される学習: 「PHP ビデオ チュートリアル >>

以上がPHPでコンテンツを画像に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。