ホームページ  >  記事  >  バックエンド開発  >  PHP でデータ URI をファイルとして正しく保存する方法

PHP でデータ URI をファイルとして正しく保存する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-23 08:55:02631ブラウズ

How to Correctly Save Data URIs as Files in PHP

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。