下記のようなスクリプトで画像をアップロードするスクリプトを作っているのですが
軽めの画像であればアップロードできるのですが、3メガ程度のファイルでエラーになってしまいます。
PHP
1 2 public function uploadPostPhoto( Request $request ) { 3 4 $request->validate([ 5 'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:4096000', 6 ]); 7 8 if ($request->hasFile('file')) { 9 $currentUser = Auth::user(); 10 $post_photo = $request->file('file'); 11 $filename = 'post_photo_'.time().'.'.$post_photo->extension(); 12 $filepath = 'posts/images/'; 13 $path = $filepath.$filename; 14 15 $post_photo->move(public_path('posts/images'), $filename); 16 17 return response()->json(['path' => $path], 200); 18 } else { 19 return response()->json(false, 200); 20 } 21 } 22``` 23 24[こちらのサイトを参考](https://www.larajapan.com/2016/03/26/%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%82%a2%e3%83%83%e3%83%97%e3%83%ad%e3%83%bc%e3%83%89%ef%bc%88%ef%bc%91%ef%bc%89%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e3%82%b5%e3%82%a4%e3%82%ba/)にphp.iniを確認しましたが 25 26特に問題はなさそうです。 27upload_max_filesize = 64M 28post_max_size = 128M 29memory_limit = 256M 30 31また、nginxの設定ファイルも問題なさそうです 32server { 33listen 80; 34root /work/public; 35client_max_body_size 50M; 36client_body_buffer_size 4m; 37 38なにかわかることがありましたら、教授いただけると助かります
タグに「Laravel」は必要かと思います。
環境情報、バージョン全て提示してください。
>3メガ程度のファイルでエラーになってしまいます。
どういうエラーが出るのでしょう。
そもそも409600
だと0.4MB程度でバリデーションかけてるわけですが、そこ無関係ですか?
ありがとうございます。タグを追加しました。
回答したあとになんの説明もなく質問内容かえるのは悪意感じますね。
で、(2回目)どういうエラーが出るのでしょう。
特に内容は変えていません。409600でも4096000でもエラーになったので
数字変えただけです。他の人がみて409600が悪いと思わないように。
4回目)どういうエラーが出るのでしょう。
自覚ないかもしれないのでハッキリと指摘しますが、「必要十分な情報が提示されている状態」を10としたらこの質問は2か3程度です。起きているエラー詳細が提示されてようやく5を越えるくらい。環境詳細やコードが一通り提示されて8を超えるくらいです。
回答者はプログラムが質問者より分かってるだけの他人なので半分も提示されてなければまともなアドバイスはできないです。
数字が明らかに違った編集前の状態ではまだできたアドバイスも、編集されたことで分からない状態になった。
でも、私ははじめからどういうエラーが起きているかを求めていました。
何度求められても対応されないと、誰であっても解決する気がないと認識します。
「なんの説明もなく」とした意図が伝わってないようなのでこちらの表現も最小限すぎましたのは申し訳ないです。
「どちらでもエラーになる」ならその旨を書かないと伝わらないということです。
単に数字を書き換えただけで、なぜ書き換えたのか補足もなく、「エラーになってしまう」がどこの何を指しているのか説明がないので答えようが無い状況と、私の回答が存在しない情報から発生した整合性の取れない回答になってしまうことに対する配慮がないことに対して指摘しています。
質問者さんはご自身で「エラーになってしまう」と書いています。ただそれでは「何を見てエラーだと言っているか」誰にも分からないのです。
「数値を変えてもエラーになった」とも仰っています。
これで「エラーの取り方が分からない」というと繋がりませんよね?
「エラーになってしまう」と「エラーのとり方」が同じ「エラー」を表現しているのか他人には分かりません。他人ですから。
現象が起きているのは他でもない質問者さんの環境なのですから、小出しにせず過不足なく提示するのは質問者側の義務です。
回答3件
あなたの回答
tips
プレビュー