【Laravel】
ファサードのexistsメソッドを使用してpublicファイル・storageファイル・viewファイルの存在チェックを行う方法
existsメソッドで存在チェックをしよう
投稿日 2021/11/29 更新日 2021/11/29
こんにちは。当サイトの管理者「元木皇天」です。
今回は最近僕がこのサイトのバグを修正した際に調べた、Laravelでファイルの存在チェックを行う方法について解説いたします。
よく使用するところとして今回は、publicフォルダ配下のファイル、storageフォルダ配下のファイル、viewsフォルダ配下のファイルの3つについて解説したいと思います。
環境
Laravel:バージョン8.48.2
PHP:バージョン7.4.13
やりたいこと
1. publicフォルダ配下のファイルの存在チェックを行う
2. storageフォルダ配下のファイルの存在チェックを行う
3. viewsフォルダ配下のファイルの存在チェックを行う
参考文献
・PHPフレームワーク Laravel実践開発
・File::exists()の公式ドキュメント
・Storage::exists()の公式ドキュメント
・View::exists()の公式ドキュメント
目次
publicフォルダ配下のファイルの存在チェック
まずはpublicフォルダ配下のファイルの存在チェックについてです。
publicフォルダ配下のファイルの存在チェックは、Fileファサードを使用してFile::exists('ファイルパス')のようにして記述します。
use Illuminate\Support\Facades\File;
も忘れずに記述しましょう。
実際に使用すると以下の赤線の箇所のようになります。
use Illuminate\Support\Facades\File; class sample{ //publicフォルダ配下にimages/sample.pngが存在するかチェック public function sample(){ return File::exists('images/sample.png'); } }
storageフォルダ配下のファイルの存在チェック
次はstorageフォルダ配下のファイルの存在チェックについてです。
storageフォルダ配下のファイルの存在チェックも先ほどと同じようにファサードを使用して行います。
使い方は、Storage::exists('ファイルパス')のようにして使います。
use Illuminate\Support\Facades\Storage;
を忘れずに記述しましょう。
実際に使用すると以下の赤線の箇所のようになります。
use Illuminate\Support\Facades\Storage; class sample{ //storageフォルダ配下にsample.pngが存在するかチェック public function sample(){ return Storage::exists('sample.png'); } }
viewsフォルダ配下のファイルの存在チェックを行う
viewsフォルダ配下のファイルの存在チェックを行うには、Viewファサードを使用して、View::exists('ファイルパス')というような感じでチェックを行えます。
こちらもここまでで紹介したものと同様に、
use Illuminate\Support\Facades\View;
を忘れずに記載しましょう。
実際に使用すると以下の赤線の箇所のようになります。
use Illuminate\Support\Facades\View; class sample{ //viewsフォルダ配下にsample.pngが存在するかチェック public function sample(){ return View::exists('sample.png'); } }
まとめ
ファイルの存在チェックはファサードを使用すると簡単にチェックを行える。
File::exists('ファイルパス');
Storage::exists('ファイルパス');
View::exists('ファイルパス');