Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在laravel视图上显示多个图像_Php_Laravel - Fatal编程技术网

Php 如何在laravel视图上显示多个图像

Php 如何在laravel视图上显示多个图像,php,laravel,Php,Laravel,我需要在laravel上显示多个图像的帮助,到目前为止,我可以将图像上载并保存到路径public_path()。'images/listing/'.$listing->id./'.$name 但我不知道如何在刀片文件上正确显示每个单独的图像路径并显示保存的图像 我的列表控制器 <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Listing; use App\ListingImage;

我需要在laravel上显示多个图像的帮助,到目前为止,我可以将图像上载并保存到路径public_path()。'images/listing/'.$listing->id./'.$name

但我不知道如何在刀片文件上正确显示每个单独的图像路径并显示保存的图像

我的列表控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Listing;
use App\ListingImage;

class ListingController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $listings = Listing::all();


        return view('listings')->with('listings', $listings);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view ('listings.create');
    }

    /*
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $request->validate([
            'title'=>'required',
            'price'=>'required',
            'address'=>'required',
            'rooms'=>'required',
            'city'=>'required',
            'state'=>'required',
            'area'=>'required',
            'bathrooms'=>'required',
            'description'=>'required',
            'status'=>'required',
            'type'=>'required',
            'images' => 'required',
            'images.*' => 'mimes:png,jpg,jpeg,gif,svg|max:2048'
        ]);

        $listing = new Listing();
        $listing->title = $request->input('title');
        $listing->price = $request->input('price');
        $listing->address = $request->input('address');
        $listing->rooms = $request->input('rooms');
        $listing->city = $request->input('city');
        $listing->state = $request->input('state');
        $listing->zip_code = $request->input('zip_code');
        $listing->area = $request->input('area');
        $listing->building_age = $request->input('building_age');
        $listing->bedrooms = $request->input('bedrooms');
        $listing->bathrooms = $request->input('bathrooms');
        $listing->description = $request->input('description');
        $listing->status = $request->input('status');
        $listing->type = $request->input('type');
        $listing->save();

        foreach ($request->file('images') as $image) {
            $listingImage = new ListingImage;
            $name = $image->getClientOriginalName();
            $path = public_path().'images/listing/'.$listing->id.'/'.$name;
            $image->move($path);
            $listingImage->listing_id = $listing->id;
            $listingImage->image_path = $path;
            $listingImage->save();
        }
        return redirect()->back()->with('success', 'Listing saved!');
    }
}


您是否尝试回显
资产('$image->image\u path')


我想你必须删除这里的单引号,因为你想插入我所看到的
$image->image\u path

的值public\u path()给出了从根文件系统到公用文件夹的完整路径。在laravel web应用程序开发中,在呈现文件时,通常不需要文件系统的完整路径。您只需要在移动文件时使用它,以便它可以从根文件系统指向正确的位置。在laravel中,您需要公用文件夹的路径

将此用作代码

     
    $imageName = time().'.'.$image->getClientOriginalExtension();
    $image->move(public_path('images/listing/'.$listing->id), $imageName);
    $listingImage->listing_id = $listing->id;
    $listingImage->image_path = 'images/listing/'.$listing->id."/".$imageName;
    $listingImage->save();
然后在您的视图上使用

{{ asset($image->image_path) }}

检查此@jewishmoses请我需要帮助了解如何处理文件存储链接打开项目根文件夹中的终端并运行
php artisan storage:link
它将创建一个从public/storage到storage/app/public的符号链接。阅读这里,我使用php artisan storage:link,但这如何帮助显示图像@jewishmosite在这里解释得很好。。我没有得到一个值,我需要显示存储在image_路径中的图像。您也可以使用该方法。图像未正确保存在目录中,它已保存为this images/listing/1/Capture2.PNG。PNG@TobyNwude您正在使用php artisan服务吗?还是由公众提供?
{{ asset($image->image_path) }}