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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1316閲覧

写真の投稿 intervention/imageライブラリー使用

MISIAN-MISIAN

総合スコア73

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/03/28 10:58

編集2020/03/29 05:29

intervention/imageのライブラリー使用して
写真の投稿をできるようにしたいです。

$ composer require intervention/imageインストールして
app.phpに二行追記いたしました

PostController.php
public function create(Request $request)のcreateがうまく行かずにThe image must be a file.となります、ご教授お願いいたします。

ファイル名app.php 'providers' => [ // 写真投稿の記載 Intervention\Image\ImageServiceProvider::class, ], 'aliases' => [ // 写真投稿の記載 'Image' => Intervention\Image\Facades\Image::class, ],
ファイル名PostController.php public function new(){ return view('posts/new'); } public function create(Request $request){ $post = new Post; $form = $request->all(); // 最低限なバリデーション処理です。 $rules = [ 'name' => 'required', 'brand' => 'required', 'image' => 'required|file|image|mimes:jpeg,png,jpg,gif|max:2048', 'user_id' => 'integer|required', ]; $message = [ 'name.required'=> '靴の名前が入力されていません', 'brand.required'=> 'ブランド名が入力されていません', 'image.required' => '靴の写真が入力されていません', 'user_id.integer' => 'System Error', 'user_id.required' => 'System Error', ]; $validator = Validator::make($form, $rules, $message); if($validator->fails()){ return redirect('post/new') ->withErrors($validator) ->withInput(); }else{ unset($form['_token']); $post->name = $request->name; $post->brand = $request->brand; $post->image = $request->image->store('public'); $post->user_id = $request->user()->id; $post->save(); return redirect('/'); }
ファイル名index.blade.php <div class="holder"> <div class="items-images"> <ul class="images"> @if(count($posts) > 0) @foreach($posts as $post) <li class="image"> <div class="product"> <a class="product-image" href="post/show/{{ $post->id }}"> <div class="product-card"> <span class="product-price">{{ $post->brand }}</span> <img class="product-image-size" src="{ asset (/storage/{{$post->image}}) }" alt="商品写真"> <div class="product-description"> <span>{{ $post->name }}</span> </div> </div> </a> </div> </li> @endforeach @else <div>投稿記事がありません</div> @endif </ul> </div> </div>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

PostController.phpのコードがわかりませんご教授お願いいたします。

何をしたいのかが不明です。
写真の投稿を受け入れるだけであればintervention/imageは不要です。
通常のファイルアップロードと一緒です

投稿2020/03/28 11:11

mikkame

総合スコア5036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MISIAN-MISIAN

2020/03/28 12:17

ご指摘ありがとうございます。 写真の投稿を受け入れたいです。 しかし現在、写真を選んで投稿するとThe image must be a file.と表示されます。
MISIAN-MISIAN

2020/03/28 13:49

formタグにenctype="multipart/form-data"追記すれば The image must be a file.は表示されなくなりましたが、 画像の投稿一覧を見ると画像が表示されません。 どうしてでしょうか?
mikkame

2020/03/29 04:46

画像がアップロードできないのと、画像の一覧で表示がされないのは厳密に言えば別問題です。 まずは画像が正常にアップロードされているかを確認しましょう
MISIAN-MISIAN

2020/03/29 04:50

わかりました。 ご指摘ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問