ホームページ >バックエンド開発 >PHPチュートリアル >PHP でデータ URI をファイルとして正しく保存する方法
PHP でデータ URI をファイルに変換する
JavaScript から取得したデータ URI を保存するタスクを実行すると、一般的な問題が発生します。結果のイメージ ファイルが破損しているように見えます。この問題は、次のようなコードを使用するときによく発生します:
$data = $_POST['logoImage']; $uri = substr($data,strpos($data,",")+1); file_put_contents($_POST['logoFilename'], base64_decode($uri));
この問題を解決するには、PHP マニュアルを参照してください。そこには、次のような洞察が記載されています。
"If you want to do Javascript Canvas.toDataURL() 関数から派生したデータを保存するには、空白をプラスに変換する必要があります。そうしないと、デコードされたデータが破損します。「
$encodedData = str_replace(' ','+',$encodedData); $decodedData = base64_decode($encodedData);
この例では、 「encodedData」変数は、JavaScript から取得したデータ URI 文字列です。空白 (' ') をプラス (' ') に置き換えると、デコード中に発生する可能性のある破損が修正されます。デコードされたデータは、提供されている file_put_contents 関数を使用して正常に保存できます。
以上がPHP でデータ URI をファイルとして正しく保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。