5

我有一个简单的问题 - 如何检查 Laravel 的 Blade 模板中是否存在文件?我试过

@if(file_exists('/covers/1.jpg')) ok @endif

但它不起作用(covers目录在/public)。我还需要为$game->id函数提供一个变量 ( )。不幸的是,

@if(file_exists('/covers/'.$game->id.'.jpg')) ok @endif

不起作用。

4

5 回答 5

24

这对我有用,favicon.ico 是公开的:

@if(file_exists('favicon.ico')) 
  File exists
@else
  Could not find file
@endif

所以我认为你只需要使用@if(file_exists('covers/1.jpg'))

于 2013-05-22T15:15:04.180 回答
9

在 Laravel 4 中,您可以使用:

 @if (file_exists(public_path('covers/1.jpg')))

用于public_path获取文件的物理路径。

于 2014-08-09T19:27:21.703 回答
0

在 Laravel 5.8 中,我这样使用它:

@if (file_exists (public_path ('filename.ico'))))
  << true, because the file exists >>
@other
  << false, because the file couldn't be found >>
@end if

如果我使用assets( )而不是public_path(),它将无法正常工作。

使用 Public_path() 您将获得文件的物理路径(来自公共文件夹)。

于 2020-07-23T15:22:05.737 回答
0
@if (file_exists( 'public/images/user/'.$userData["avtar"]) ) 
     <a href="#"><img src="{{asset('images/user/'.$userData["avtar"])}}" alt="11"></a>

@else
     <a href="#"><img src="{{asset('bouts9/assets/images/profile/profile.png')}}" alt="Profile Picture"></a>

@endif
于 2021-09-01T11:16:16.633 回答
0

这应该适用于 Laravel 8

file_exists("assets/images/image.extension")

file_exists 直接查看公共路径内部,因此您可以直接从公共文件夹中传递路径

于 2022-01-11T06:36:02.190 回答