私はJavaScriptから取得しており、PHP経由で保存しようとしているデータURIを持っています。私は明らかに破損した画像ファイルを与える次のコードを使用します:PHPデータ-DWファイル
$data = $_POST['logoImage'];
$uri = substr($data,strpos($data,",")+1);
file_put_contents($_POST['logoFilename'], base64_decode($uri));
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs 9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxklEQVQYlYWQMW7CUBBE33yITYUUmwbOkBtEcgUlTa7COXIVV5RUkXKC5AxU EdyZVD4kyKxkwIrr9vd0c7Oih aopinLNsF6Qkg2XW4XJ7LGFsAAcTV6lF5/jLdbALA9XDAXYfthFQVx OrmqKYK88/7rbbMFksALieTnzu9wDYTj6f70PKsp2kwAiSvjXNcvkWpAfNZkzWa/5a9yT7fdoX7rrB7hYh2fXo9HdjPYQZu3MIU8bYIlW20y0RUlXG2Kpv/vfwLxhTaSQwWqwhAAAAAElFTkSuQmCC
以下は、実際の画像はデータURIです。 'logoImage'は上記の文字列、$ uriは文字列マイナス 'image/jpeg; base64'です。
すみません、私はどこかでタイプミスをするのですか? – GAgnew
例のデータURIが有効なPNG画像ではありません。これはうまく動作せず、コードとは無関係です。データに関連しています。 – hakre
これをbase64イメージとして保存することができます。私はバイナリの専門家ではないので、ここで与えられたすべての例は32ビットの結果をもたらすと推測しています。 PHP 5.2では、データURLが機能するはずですので、ソリューションは実際には以下のように簡単になります: 'file_put_contents( 'logo.png'、preg_replace(/ \ s + /、 '+'、$ _POST ['logoImage']))' AJAXと組み合わせてJavaScriptのFileReader APIを使用している場合は、 – PHPglue