ホームページ > バックエンド開発 > PHPチュートリアル > PHP でデータ URI をファイルに変換するときに破損した画像を修正する方法

PHP でデータ URI をファイルに変換するときに破損した画像を修正する方法

DDD
リリース: 2024-10-23 08:52:29
オリジナル
1047 人が閲覧しました

How to Fix Corrupted Images When Converting Data-URIs to Files in PHP?

ファイルへの PHP データ URI: 破損した画像

Web 開発では、データが JavaScript からデータとして受信される状況によく遭遇します。データ URI。このようなシナリオの 1 つは、PHP を使用してこの URI をファイルに保存することです。ただし、一部のユーザーは、次のコードを使用してこれを試みた後、破損した画像ファイルを受け取ったと報告しています:

<code class="php">$data = $_POST['logoImage'];
$uri = substr($data,strpos($data,",")+1);
file_put_contents($_POST['logoFilename'], base64_decode($uri));</code>
ログイン後にコピー

この問題は、canvas.toDataURL() などの特定の JavaScript 関数が空白をパーセンテージとしてエンコードするという事実に起因します。 (%)。ただし、PHPのbase64_decode関数はプラス記号()を想定しています。

この問題を解決するには、データURI:

<code class="php">// Replace spaces with pluses
$encodedData = str_replace(' ','+',$data);
// Decode the modified data-URI
$uri = substr($encodedData,strpos($encodedData,",")+1);
// Save the decoded data-URI as a file
file_put_contents($_POST['logoFilename'], base64_decode($uri));</code>
ログイン後にコピー
この変更を実装すると、コードは JavaScript から受信したデータ URI を正しくデコードして保存し、画像ファイルが完全な状態になります。

以上がPHP でデータ URI をファイルに変換するときに破損した画像を修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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