我看到了这个答案[ [Determining If a File Exists in Laravel 5并试图在我的项目中实现相同的方法。
我正在使用Imageintervention和Laravel 5.4。我有一个带有以下验证码的PropertyController:
//? file upload
if ($request->hasFile('image')) {
$image = $request->file('image');
$filename = time() .'.' .$image->getClientOriginalExtension();
$location = public_path('/imgs/properties/' . $filename);
Image::make($image)->resize(400, 300)->save($location);
$property->image = $filename;
}
//store in the DB
在我的show blade中,我有以下语法:
<div class="thumbnail">
@if(file_exists(public_path().'../imgs/properties/. $filename'))
<img src="../imgs/properties/{{ $property->image }})" alt="">
@else
<img src="../dist/img/villa.jpg" alt="">
@endif
我将以下代码放在我的Property Model中:
public function image()
{
if(file_exists( public_path() . '/imgs/properties/' . $filename)) {
return '/imgs/properties/' . $filename;
} else {
return '../dist/img/villa.jpg';
}
如果我使用图像注册属性,我只会获得默认图像,而不是新注册的图像。我已经检查了我的属性文件夹,图像新注册的图像在那里等我解决问题。你对出了什么问题有什么想法吗?
提前谢谢!