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