我遇到了getimagesize功能的问题,它冻结了服务器。
@foreach($categories as $category)
<span>{{$category->thumb}}</span>
<div class="box-categoria">
<a href="{{$category->generateCategoryUrl()}}">
@if(isset($category->thumb)&&$category->thumb != ""&&getimagesize($category->thumb))
<img src="{{$category->thumb}}" width="150"/>
@else
<img src="{{asset('assets/images/no-thumb.jpg')}}" width="150"/>
@endif
<div class="overlay"></div>
</a>
</div>
@endforeach
这在其他计算机上正常工作,即使在生产服务器中也能正常工作。
这个项目使用Laravel框架,工匠服务器和图像的网址是这样的:
由于
答案 0 :(得分:2)
将此检查(getimagesize
)放入刀片视图中非常奇怪。它是后端逻辑,并且在运行时检查这个性能非常糟糕。更好的方法是在刀片视图中简化如下所示的逻辑,而不使用if-else条件。
<img src="{{$category->thumb}}" width="150" onerror="this.src='/assets/images/no-thumb.jpg';"/>
因此,如果拇指不存在,则会加载图像no-thumb
。