Base64 データ URI からサーバー側で PNG 画像を効率的に保存する方法
Canvas2Image などのツールを使用してクライアント側で画像を作成する場合、結果として得られるbase64文字列をサーバー上で実際のPNGファイルに変換する必要が生じることがよくあります。これは、PHP のbase64_decode() 関数を使用すると効果的に実現できます。
Base64 データの抽出とデコード
base64 文字列から画像データを抽出するには、次の手順に従います。
$data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data); $data = base64_decode($data);
このコード行ごと:
PNG の保存ファイル
データが抽出されデコードされたら、file_put_contents():
file_put_contents('/tmp/image.png', $data);
ワンライナーを使用して、単純に PNG ファイルとしてサーバーに保存できます。解決策:
または、抽出、デコード、保存を組み合わせることができます。簡潔なワンライナー:
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
エラー処理:
データの整合性を確保するには、画像のタイプを検証し、base64 デコード中に潜在的なエラーをチェックすることを検討してください。
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) { // ... (additional error handling and processing) }
以上がBase64 データ URI からサーバーサイド PNG 画像を効率的に保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。