我有一个简单的问题 - 如何检查 Laravel 的 Blade 模板中是否存在文件?我试过
@if(file_exists('/covers/1.jpg')) ok @endif
但它不起作用(covers
目录在/public
)。我还需要为$game->id
函数提供一个变量 ( )。不幸的是,
@if(file_exists('/covers/'.$game->id.'.jpg')) ok @endif
不起作用。
这对我有用,favicon.ico 是公开的:
@if(file_exists('favicon.ico'))
File exists
@else
Could not find file
@endif
所以我认为你只需要使用@if(file_exists('covers/1.jpg'))
在 Laravel 4 中,您可以使用:
@if (file_exists(public_path('covers/1.jpg')))
用于public_path
获取文件的物理路径。
在 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() 您将获得文件的物理路径(来自公共文件夹)。
@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
这应该适用于 Laravel 8
file_exists("assets/images/image.extension")
file_exists 直接查看公共路径内部,因此您可以直接从公共文件夹中传递路径