0 レビュー
1 回答
php-エラー500画像base64
みなさん、こんにちは。ここに投稿するのは初めてです。
base64にエンコードされた画像を使用して、ドメインに画像をアップロードしたいのですが、
画像がサーバーに完全にアップロードされましたが、それでもサーバーエラー500が発生します。
php.iniファイルのmemory_limitは128M`
XAMPPサーバーを使用しています
<?php
header('Content-type : bitmap; charset=utf-8');
$encoded_string = $_POST['string_encoded']; //encoded string
$imagename = 'image.png';
$decoded_string = base64_decode($encoded_string);
$path = 'imageses/'.$imagename;
$file = fopen($path, 'wb');
fwrite($file, $decoded_string);
fclose($file);
?>`
わからない
0
レビュー
答え :
解決策:
image.pngのサイズが2MBであると仮定しましょう。この場合、base64からデコードするだけで、およそ64 * 2 MB、つまり128MBがメモリに書き込まれます。これが問題の原因である可能性があります。これを修正するには、php.iniの memory_limit
を増やします。もう1つの考えられる問題は、スクリプトが複数回ロードされ、同じ大規模なデコードを並行して実行することです。すべてが失敗した場合でも、成功を収めることはできますが、ファイル全体をデコードすることはできません。一度に1つの小さなパケットのみをデコードし、できるだけ早く計算するとパケットを忘れてしまいます。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。