php getimagesize 函数正在冻结服务器
php getimagesize function is freezing server
我的 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框架,artisan server,图片url是这样的:
谢谢
把这张支票(getimagesize
)放在blade视图中很奇怪。这是 back-end 逻辑,动态检查它对性能非常不利。更好的方法是在 blade 视图 中像下面这样简化此逻辑,而无需 if-else 条件 .
<img src="{{$category->thumb}}" width="150" onerror="this.src='/assets/images/no-thumb.jpg';"/>
因此,如果缩略图不存在,将加载图像 no-thumb
。
我的 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框架,artisan server,图片url是这样的:
谢谢
把这张支票(getimagesize
)放在blade视图中很奇怪。这是 back-end 逻辑,动态检查它对性能非常不利。更好的方法是在 blade 视图 中像下面这样简化此逻辑,而无需 if-else 条件 .
<img src="{{$category->thumb}}" width="150" onerror="this.src='/assets/images/no-thumb.jpg';"/>
因此,如果缩略图不存在,将加载图像 no-thumb
。