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

Mary-Kate Olsen
リリース: 2024-10-23 08:55:02
オリジナル
630 人が閲覧しました

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!