在env中创建变量并在Blade中使用它,错误

时间:2019-01-09 14:15:59

标签: php laravel

我正在尝试在.env文件中创建一个变量,然后可以在其他刀片服务器中使用它。

真正的路径是这样:

 <img src="http://localhost/myy_project/storage/app/public/thumbs/{{$trip->image}}" class="img-responsive" alt="tour-img" />

但是我想尝试使用.env

IMAGE_PATH=http://localhost/myy_project/storage/app/public/

刀片:

   <img  src="{{env('IMAGE_PATH')}}thumbs/{{$trip->image}}" class="img-responsive" alt="tour-img" />

当我使用.env时,没有显示图像。问题可能出在哪里?

2 个答案:

答案 0 :(得分:0)

{{env('IMAGE_PATH')}}/thumbs.{{$trip->image}}

根据您的描述,我认为'thumbs'之后的./,看来您的IMAGE_PATH不包含'thumbs'。

答案 1 :(得分:0)

不知道实际输出的<img/>标记是很难说的,但是可能是您的.env文件已过期。

如果在开发过程中使用php artisan serve,则可能会发生这种情况。在这种情况下,重新启动开发服务器将重新加载您的.env文件,以便您的应用程序可以访问新的IMAGE_PATH选项。

编辑

您可以尝试运行php artisan view:clear以确保您没有看到该视图的旧编译副本。其他相关命令包括php artisan config:clearphp artisan cache:clear分别刷新配置和应用程序缓存。

但是理想情况下,您可能希望避免在视图中使用env()。相反,您可以在 config / app.php 中添加一行,例如:

    'image_path' => env('IMAGE_PATH'),

然后像这样引用它:

<img src="{{ config('app.image_path') }}thumbs/{{ $trip->image }}" class="img-responsive" alt="tour-img" />

话虽如此,如果您的图像路径始终是公用文件夹,则只需使用public_path帮助程序即可:

<img src="{{ public_path('thumbs/'.$trip->image) }}" class="img-responsive" alt="tour-img" />