質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.18%

PHP 画像アップロードでエラーになる

解決済

回答 3

投稿 編集

  • 評価 -2
  • クリップ 0
  • VIEW 194

Qoo

score 1151

下記のようなスクリプトで画像をアップロードするスクリプトを作っているのですが
軽めの画像であればアップロードできるのですが、3メガ程度のファイルでエラーになってしまいます。

    public function uploadPostPhoto( Request $request ) {

        $request->validate([
            'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:4096000',
        ]);

        if ($request->hasFile('file')) {
            $currentUser = Auth::user();
            $post_photo = $request->file('file');
            $filename = 'post_photo_'.time().'.'.$post_photo->extension();
            $filepath = 'posts/images/';
            $path = $filepath.$filename;

            $post_photo->move(public_path('posts/images'), $filename);

            return response()->json(['path' => $path], 200);
        } else {
            return response()->json(false, 200);
        }
    }

こちらのサイトを参考にphp.iniを確認しましたが

特に問題はなさそうです。
upload_max_filesize = 64M
post_max_size = 128M
memory_limit = 256M

また、nginxの設定ファイルも問題なさそうです
server {
listen 80;
root /work/public;
client_max_body_size 50M;
client_body_buffer_size 4m;

なにかわかることがありましたら、教授いただけると助かります

  • クリップを取り消します

  • 質問の評価を上げたことを取り消します

  • 質問の評価を下げたことを取り消します

質問への追記・修正、ベストアンサー選択の依頼

回答 3

+2

なんか不毛そうなのと、3MBの画像というキーワードが気になるので参加してみます。
ご利用のレンタルサーバーはxfreeではありませんか?

※追記 ご指摘をいただいたため追記です※
xfreeは仕様説明に.htaccessがあるためapacheが使われているようです。
この問いかけの意図は「違います。〇〇サーバーの△△プランです」のような返答を期待してのものであり、
ピンポイントでレンタルサーバーを特定しようとしたものではありません。
※実行環境は教えてくれないとわからないよっ!※

あの無料サーバーだと1ファイル3MBまでのアップロード制限が掛けられているようです。
※無料だと制限掛かっているケースがあるみたいだよっ※

あとは、容量で引っ掛からなくても、接続時間で制限に掛かっている場合もあります。
※プランが安いと処理能力が低くて時間切れになることもあるよっ※

以下蛇足です。

ini_set('display_errors', "On");

とりあえずPHP?みたいなのでこれでエラー取れませんかね?
軽めならおkってことはパス等ではないですし、拡張子でもなさそうです。
上げられるということはパーミッション制限でもないですね。
※自分が見てわかる範囲で違いそうな要素を否定したよっ※
※さもわかってるような雰囲気を演出してみたかったんだよっ※
※なごみ要素もプラスしてみたのだよっ※

投稿

編集

amiya-se

score 727

  • amiya-se

    amiya-se

    2021/03/12 12:12

    > m.ts10806様
    シャワー浴びて、洗濯機回したんで戻ってきましたが…
    か・な・り・突っ込まざるを得ないっ!

    m.ts10806様は問題解決能力は非常に高いと思われますが…
    コミュニケーション能力は若干疑問符が付きますよっ

    エンジニアとしての能力に特化されていて、
    あいまいな表現からニュアンスを汲み取ることが不得手なのでは?
    京都で「ぶぶづけでも、おあがりやす」とか言われて、
    きっと「ぁ、今腹いっぱいなんであとでいただけますか」とか返しちゃうタイプでしょ?

    > 午前中の家事ノルマが全く終わってねぇw
    この呟きに対する返しが、
    「そいや、私もあまり仕事進んでませんね。言うほど詰まってないからコメントしてますけど」
    というのを見るに、間違いなく自分視点です。「我関せず」というやつです。
    まぁ、すべては自己責任ですし、自分の時間をどう使おうが自分の責任なんですがっ

    99.99%の方が「あ、長いこと拘束しちゃったね。じゃあまた今度」みたいなことを言われます。
    初めて本物のエンジニアに遭遇できたことを感謝するべきなのでしょうが、
    類稀なるマイノリティーであることをお伝えしておくべきだと判断いたしました!
    ※99.99%は誇張表現ですが。

    「変わってください」とは言いませんし、「変わって欲しい」とも思わないのですが、
    「気づいて欲しい」とは思います。
    たぶんご自身が思われているよりも「コミュニケーションコストが高い」ということにっ。

    以下蛇足ですが、
    僕もかなりコミュニケーションコスト高めです、ハイ。
    ※ツッコミのノリは通称「のうきん」というラノベの小説からです※
  • m.ts10806

    m.ts10806

    2021/03/12 12:15

    いえ、ご配慮大変痛み入ります。
  • m.ts10806

    m.ts10806

    2021/03/12 12:24

    amiya-seさんのコミュニケーション能力の高さは常々感じていたところではあります。
    自身もteratailはじめの頃はおそらく似たようなスタンスだったと思います。いつからでしょうね、淡々と杓子定規に書くようになったの。
    まあ、それは個人の話ですのでいいとして、長いこと相手していただきありがとうございました。非常に参考になりました。
    今回ご指摘いただいた内容は念頭に置いて公私に活かしたいと思います。いや本当に。

+1

以下は質問が編集される前の回答です。


409600バイト=0.390625MB=約400KB
3MBも入りませんね。

バイト換算 


コントローラーだけでは他者は再現不可能のなので
起きてる現象と再現可能なコードすべて提示されない限り
解決しないかと(少なくとも質問編集される前の回答で無言で低評価される内容ではない)

「エラーがでる」だけで引き出されるのは「どんなエラー?」という質問だけ。

投稿

編集

m.ts10806

ユーザーランキング月間1位

score 60304

  • m.ts10806

    m.ts10806

    2021/03/12 07:46

    どんなエラーが出るのかと(5回目)
  • m.ts10806

    m.ts10806

    2021/03/12 08:23

    編集前の質問に対する回答で間違った内容ではないので、低評価理由を教えて下さい。
    正当な回答に理由なき低評価は単なる迷惑行為です(運営より回答得てます)
  • m.ts10806

    m.ts10806

    2021/03/12 08:34

    >知識がないので

    知識がない状態で「Web職人のためのフレームワーク」であるLaravelを扱うことの危険性はご理解ください。

check解決した方法

-2

nginx側の設定を行ったつもりでしたが反映していなかったようでした。
amiya-seさんのアドバイスを参考にパーミッションとアップロード時間を確認している時点で気付きました。ありがとうございました。無事解決に至りました。

あと、コメントに恐怖すら覚えます。
>どんなエラーが出るのかと(5回目)
>どんなエラーが出るのかと(6回目)
と嫌味を交えて長文のコメントしてくるあたり器の小さと気持ち悪さしか感じないです。

私も嫌がらせ行為を受けていると感じるし、こんな嫌味なコメントに回答コメントするつも気にもならない
。それこそ不毛なやりとりだと考えますので。

個人的に
『テラテイルは15分調べてわからなかったら質問しよう!』がコンセプトだと思っているので
質問みてわからなければスルーでいいし、答えられる人が答えればいい。

回答するならこんな風にしてみは?こんな風にすればエラーがとれるからまずはトライしてみて!などアドバイスすればいいと思う。それが別に直接的な解決にならなかったとしても、このサイトを参考にしてでも、ここに同じ質問があるよでも、自分で調べろ的な回答よりは間違いなく役にたつ。

いちいち嫌味なコメントとか、質問者の為だとか、指導者ぶってエンジニア育てたいなら自分でサイト作ってやれよ暇人と思う

自分はそんなに知識もないのであまり回答する機会はないけど回答する場合は可能なかぎりそうしようと思う

私も暇でもないので、質問しても張り付いてみないないし、特に議論つもりもないし、参考にならないコメントはスルーしかしない。数分おきに嫌味なコメントきたらまず通報ボタン押す。怖いとキモい以外なにも感じない

受け取り方は人それだしマイナス評価つけたいなら付ければいい。

テラテイルできたころは良くテラッテいるに参加して、木○さんや藤○さんがテラテイルを作った意図を聞いてすごく感銘を受けたのを覚えてますねーー

エンジニア職はどんどんフリーランスが増えて、大企業のように近くにいる人に簡単に聞くことができなくなる。時間を調べて調べて解決してもあまり使わないようなものは時間が経てばすぐに忘れてしまう。経済的にもエンジニア的にもさくっと聞いてさくっと解決できるサイトを作りたい。世の中は本当にそうなっているし、今更ながらこのサイトを作った人たち、運営さんはすごいなって思います。
私もそれでいいと思うし、そのようにこのサイトを利用する

確かにエンジアとしてもスキルも意識も低いし、質問も悪かったかもしれないけど、
基本的にそんなもんどうでもいい。何様のつもりなん?て感じ。

ここまで叩く必要もないし、むしろ人格を疑う

個人手にはブロック機能はつけてほしいね

自分も昔のFlashサイトのようにこのサイトが不毛なサイトにならないことを祈ります

特に議論するつもりもないし、時間ももったいないのでこれで勘弁してください

投稿

Qoo

score 1151

  • m.ts10806

    m.ts10806

    2021/03/12 12:02 編集

    9割個人的な愚痴でしかないので低評価しました。それこそ「起きてる問題に対してどうでもいい内容」です。
    自分が起きてる現象を正しく伝えられるようになってから言ってください。プログラミングの技術関係ないコミュニケーションスキルの問題です。
    「エラーになってしまう」と自身で書いてるのですから説明責任は果たすべきです。応えになってないので何度も同じこと言われてます。見てないのかな?と感じるくらいに。だから「○回目」とつけた。
    意図が分からないなら、つもりにならず確認してください。
  • K_3578

    K_3578

    2021/03/12 12:07

    自己解決するにしても、
    >あと、コメントに恐怖すら覚えます。
    以降の文章は第三者が見て必要ない部分なのでは?
  • m.ts10806

    m.ts10806

    2021/03/12 12:12

    こちらは質問者が書いてある意図がわからないので確認しているだけのことです。
    特に語句は同じ認識じゃないとすれ違いにしかならないしそれこそ時間の無駄ですから。
    解決しなくて困るのは質問者ですが、解決できそうだけど意図不明で結局手が出しづらくて回答者は困ります。
    そのために「質問するときのヒント」が整備されてるわけですし、説明書読まずに使ってれば解決もしませんよ。
    5分で解決できるか何日も解決しないかは結局質問者の意識だと思います。
    別にそこまで対応する義務は誰にもないですが、公の場に投稿した以上は解決するまで対応するのは質問者の義務と責任ですし、認識にずれがあるまま「気持ち悪い」などと暴言はかれる言われはこちらにはありません。
  • K_3578

    K_3578

    2021/03/12 12:25

    質問者さんのプロフィール見て気づきましたが2015年から利用されていると言うことで、
    初期から利用されていると思うんですが、結局teratailが「コミュニティ」である以上、
    コミュニティに属する人達が入れ替わって空気が変わっていくのは必然だと思います。
    今のteratailを受け入れられないのならば今後も利用していくのは難しいんじゃないかな・・・と
    思います。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.18%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る