尝试弄清楚如果图像存在时如何显示图像,如果图像不存在则尝试默认图像。继承了我到目前为止所拥有的内容,但检查该文件的语句似乎不起作用:
@if (file_exists(public_path('img/{{ $product->sku }}.jpg')))
<img src="img/{{$product->sku}}.jpg">
@else
<img src="img/logo.gif">
@endif
继承我的完整刀片代码。一切都有效,除了图像:
<div class="products-gallery">
<h2>{{$product->prd->description_long}}</h2>
<p><strong>ITEM SKU:</strong> {{$product->sku}}</p>
<p><strong>PRICE:</strong> {{$product->prd->Jobber}}</p>
@if (file_exists(public_path('img/{{$product->sku}}.jpg')))
<img src="img/{{$product->sku}}.jpg">
@else
<img src="img/logo.gif">
@endif
</div>
答案 0 :(得分:2)
虽然您询问了Laravel
实现,但您也应该知道您可以在纯JavaScript中执行此操作并避免验证文件是否存在:
<img src="img/{{$product->sku}}.jpg" onerror="this.onerror=null;this.src='img/logo.gif';" />
写入的代码较少,这也会处理其他错误(例如文件存在但已损坏)。
希望这有帮助。
答案 1 :(得分:1)
@if (file_exists(public_path().'/img/'.$product->sku))
<img src="{{ asset('img/'.$product->sku) }}">
@else
<img src="{{ asset('img/logo.gif') }}">
@endif
图片扩展程序(正如您提到的.jpg
)在您上传时默认保存。希望它有所帮助!
答案 2 :(得分:0)
使用资产(&#39; / img /&#39;。$ product-&gt; sku。&#39; .jpg&#39;)方法