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

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

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

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

9335閲覧

Laravel 5.2 Call to a member function getClientOriginalName() on null が治らない

spellbound

総合スコア190

PHP

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2016/12/18 21:46

編集2016/12/18 22:35

現状

現在、ブログ投稿サイトを開発しています。ユーザページで各ユーザがプロフィール画像をアップデートアクションで変更できる機能を実装したいです。

Call to a member function getClientOriginalName() on null

# UsersController public function update($id, Request $request) { $fileName = $request->avatar->getClientOriginalName(); User::find($id)->update(array( 'avatar' => $fileName, 'profile' => $request->profile )); return view('users.update')->with('user', $user); }
#edit.blade.php {{ Form::open(['url' => 'users/$user->id', 'method' => 'PATCH', 'files' => true, 'route' => 'UsersController@update']) }} {{ Form::label('fileName', 'Please select your avatar') }} {{ Form::file('fileName') }} {{ Form::close() }}

かなり検索して試しましたが、動きません。
宜しくお願い致します。


追記

public function update($id, Request $request) { User::find($id)->update( array( 'avatar' => $request->avatar, 'profile' => $request->profile ) ); return view('users.update')->with('user', $user); }

@extends('layout')

@section('content') @if (Auth::check() && Auth::user()->id == $user->id) <section id="intro"> <header> {{ Form::open(['url' => 'users/$user->id', 'method' => 'PATCH', 'files' => true]) }} {{ Form::label('fileName', 'Please select your avatar') }} <input type="file" name="avatar" value="avatar"> <textarea name="profile" rows="3" value="profile" style="width: 95%; margin-right: auto; margin-left: auto; margin-top: 1.5em;" placeholder="Tell me what kind of person are you...?">{{ $user->profile }}</textarea> <input type="submit" value="update" style="margin: 3em 0 2em 0;"> {{ Form::close() }} </header> </section> @endif @endsection

上記に書き換えたところ($fileName = $request->avatar->getClientOriginalName();を消した)、Call to a member function update() on nullと表示されました。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Laravel5ではfileの扱い方が少し異なります。ファイル名を取得したい、という事で良いですよね?
formの指定でfiles' => true'があるのですが、念のため、表示されたhtml上でenctype="multipart/form-data"が入っていることを確認して下さい。

Controller側は

php

1$file = $request->file('fileName'); 2$fileName = $filename->getClientOriginalName();

で良いかと思います。

投稿2016/12/19 05:04

編集2016/12/19 06:28
motuo

総合スコア3027

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問