ホームページ > ウェブフロントエンド > jsチュートリアル > PHP を使用して Base64 データ URI から PNG 画像をサーバー側で保存するにはどうすればよいですか?

PHP を使用して Base64 データ URI から PNG 画像をサーバー側で保存するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-09 16:43:17
オリジナル
502 人が閲覧しました

How to Save PNG Images Server-Side from Base64 Data URIs using PHP?

Base64 データ URI からサーバー側で PNG 画像を保存する

PHP を使用して、Nihilogic の "Canvas2Image" JavaScript ツールによって生成された Base64 文字列をサーバー上の実際の PNG ファイルに変換するには、次のことを実行する必要があります手順:

  1. base64 画像データを抽出します。 データ URI ヘッダーを実際の Base64 データから分離します。スニペットは次のとおりです:

    $data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...';
    list($type, $data) = explode(';', $data);
    list(, $data) = explode(',', $data);
    ログイン後にコピー
  2. base64 データをデコードします。 エンコードされたデータをバイナリ文字列に変換します。

    $data = base64_decode($data);
    ログイン後にコピー
  3. 画像を デコードされたデータをサーバー上の PNG ファイルに書き込みます。

    file_put_contents('/tmp/image.png', $data);
    ログイン後にコピー
  4. 代替のワンライナー方法: これを使用することもできます-line コマンドを使用して、ファイルを抽出、デコード、保存します。 image:

    $data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
    ログイン後にコピー
  5. 適切なエラー処理を確保する: 無効なデータ URI、失敗した Base64 デコード、または不正な画像タイプを検出するメカニズムを実装します。

    if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) {
        // Valid data URI
    } else {
        throw new \Exception('Invalid data URI');
    }
    
    if ($data === false) {
        throw new \Exception('Base64 decode failed');
    }
    ログイン後にコピー

以上がPHP を使用して Base64 データ URI から PNG 画像をサーバー側で保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート