Laravel:无法在 Blade 文件中显示图像

时间:2021-04-11 04:59:28

标签: php laravel laravel-blade

我试图在刀片中显示图像。但它无法加载图像,它显示了else语句的图像

     <?php $user_image_path = 'images/user_images/' . $userDetails['image']; ?>
   
     @if(!empty($userDetails['image']) && file_exists($user_image_path))
          <img src=" {{ asset('images/user_images/'.$userDetails['image'])}}" alt="Cinque Terre">
     @else
          <img src="{{ asset('images/product_images/small/no_image.png') }}" alt="Cinque Terre">
     @endif

我还调试了 if 语句上面的代码,它获取图像

 <?php $product_image_path = 'images/user_images/' . $userDetails['image']; ?>
   <?php
   echo "<pre>";
   print_r($user_image_path);
   die;
   ?>

5 个答案:

答案 0 :(得分:1)

从上面对您的问题的评论来看,您似乎正在加载没有扩展名的图像。添加图片扩展

 <img src="{{  asset('images/user_images/'.$userDetails['image'].".png") }}" alt="">

或为 .jpg

<img src="{{  asset('images/user_images/'.$userDetails['image']).".jpg" }}" alt="">

答案 1 :(得分:0)

@if(!empty($userDetails['image']))
    <img src="{{ asset('images/user_images/'.$userDetails['image'])}}" alt="Cinque Terre">
  • 在检查器中查看图像的 src。大多数情况下,它为我们提供了错误的路径,而不是公共目录。
  • 其次,src 中有空间。尝试删除并运行它。
  • 如果资产函数没有给出公共目录路径,将.env中的ASSETS_URL添加到/public

答案 2 :(得分:0)

这是不匹配的 if 条件的第二个条件。 file_exists 函数无法定位图像文件。您必须提供 file_exists 的完整路径,或者将其删除:

@if(!empty($userDetails['image']))
      <img src="{{ asset('images/user_images/'.$userDetails['image'])}}" alt="Cinque Terre">
@else
      <img src="{{ asset('images/product_images/small/no_image.png') }}" alt="Cinque Terre">
@endif

答案 3 :(得分:0)

尝试:

<img src="{{ !empty($userDetails['image']) ? asset('images/user_images/'.$userDetails['image']) : asset('images/product_images/small/no_image.png') }}" alt="Cinque Terre">

答案 4 :(得分:0)

使用此代码:

<img src=" {{ !empty(asset('images/user_images/'.$userDetails['image'])) ? <img src="{{ asset('images/user_images/'.$userDetails['image'])}}" alt="Cinque Terre"> : <img src="{{ asset('images/product_images/small/no_image.png') }}" alt="Cinque Terre"> }}" alt="Cinque Terre">
相关问题