2017-06-29 3 views
2

私はLaravelフレームワークを使用してPHP Webサービスを書いており、base64文字列を使用して画像をアップロードしています。 小さいbase64文字列に対してはうまくいきます。しかし、私は5 MBの画像のbase64文字列を生成しようとすると、それはサーバー側でNULLのrequstを取得しています。ここで はPHPサーバ側コードである:投稿要求がサーバー側でnullになっていますか?

<?php 
    $post_data = file_get_contents("php://input"); 

    $post_data = json_decode($post_data); 
    var_dump($post_data);exit; 
?> 

私は小さなベース64の要求を印刷しようとしたとき、それが正常に動作しているソースコードの上Useing。大きなbase64画像を投稿しようとすると、NULLが返されます。

私が間違っているところを助けてください。また、サーバー側で大きなベース64文字列をアップロードする方法はありますか?

はまた、私は次の値

post_max_size 200M 
upload_max_filesize 200M 

"/Applications/MAMP/bin/php/php7.0.12/conf/php.ini"php.iniを編集しようとしたサーバを再起動しようとしたが、それでも同じエラーが発生しました。

+0

json_decodeはそうなって –

+0

このhttps://stackoverflow.com/questions/949415/overriding-upload-max-filesize(post_max_sizeの/ upload_max_filesizeで)を見てみましょうヌル与え、復号化するために有効なJSONデータを必要とします大きなベース64ストリング。これが問題です。 – Richard

+0

@RAUSHANKUMARない –

答えて

3

あなたはおそらくPHPの制限に遭っています。 post_max_sizeupload_max_filesizeの設定については、php.iniファイルを確認してください。

post_max_size = 8M 
upload_max_filesize = 2M 

これらの値を変更する場合は、PHPを再起動する必要があります。

+0

素早く対応してくれてありがとう。私は設定を変更する必要があるlaravelを使用しています –

+0

post_max_sizeは、サーバーに送信するすべての投稿データのサイズです。これは大きなものではないデータで限界を打つことができるということです。たとえば、あなたは8Moに制限があり、あなたは7.9Moの画像を送信し、また画像の後にテキストを送信します。イメージを正しく受信し、テキストのNULLを取得します。だから、NULLには変数に限界があります。 – Peter

関連する問題