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是这样的:

http://www.portaldamarcaelectrolux.com.br/owners/575889d6024f03012e4273b6/categories/f18058073cffbcba22945e57544b120a.jpg

谢谢

把这张支票(getimagesize)放在blade视图中很奇怪。这是 back-end 逻辑,动态检查它对性能非常不利。更好的方法是在 blade 视图 中像下面这样简化此逻辑,而无需 if-else 条件 .

<img src="{{$category->thumb}}" width="150" onerror="this.src='/assets/images/no-thumb.jpg';"/>

因此,如果缩略图不存在,将加载图像 no-thumb