Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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_Html_Laravel_Filepath - Fatal编程技术网

Php 为什么不';我的图像是否显示在Laravel应用程序中?

Php 为什么不';我的图像是否显示在Laravel应用程序中?,php,html,laravel,filepath,Php,Html,Laravel,Filepath,我目前正在开发一个新的Laravel应用程序,并试图让用户能够将图像上传到本地服务器。在本应用程序中,我将图像称为“媒体”。首先,这是我的媒体。创建允许用户上传图像的文件: <form method="POST" action="/media" class="form-signin" enctype="multipart/form-data"> {{ csrf_field() }} <h2 class="form-signin-heading">Add

我目前正在开发一个新的Laravel应用程序,并试图让用户能够将图像上传到本地服务器。在本应用程序中,我将图像称为“媒体”。首先,这是我的
媒体。创建允许用户上传图像的文件:

<form method="POST" action="/media" class="form-signin" enctype="multipart/form-data">

    {{ csrf_field() }}

    <h2 class="form-signin-heading">Add Media</h2>

    <hr>

    <h2>Game Selector</h2>

    <select name="game_id">

        @foreach ($games as $game)

        <option name="game_id" value="{{ $game->id }}">{{ $game->opponent }} {{ $game->gdatetime }} {{ $game->season->year }}</option>

        @endforeach

    </select>


    <label for="inputMedia" class="sr-only">Media Name</label>
    <input type="text" name="file_name" class="form-control" placeholder="Media Name" required autofocus>

    <label for="inputMedia" class="sr-only">Content/Caption</label>
    <input type="text" name="content" class="form-control" placeholder="Caption/Content" required>

    <label for="inputMedia" class="sr-only">File</label>
    <input type="file" name="media_file" class="form-control" placeholder="File" required>

    <button class="btn btn-lg btn-primary btn-block" type="submit">Submit</button>
  </form>
这一切都很好。当我上传图像时,它会出现在我的
存储/app/media
文件夹中,但当我尝试在我的
媒体中检索图像时,index
视图中不会显示图像。这是我的
媒体。索引

@foreach ($medias as $media)

<div class="col-sm-12 col-lg-12">

<h1 class="media_content">
{{ $media->game->gdatetime->format('l F jS \\, Y') }} vs.
{{ $media->game->opponent }}
</h1>


<a href="#"><img src="{{asset('storage/app/media').'/'.$media->file_name.'.jpg'}}" alt="{{ $media->file_name }}" height="250" width="250"></a>

<p class="media_content">
{{ $media->content }}
</p>

</div>

@endforeach
@foreach($media作为$media)
{{$media->game->gdatetime->format('lfjs\\,Y')}}vs。
{{$media->游戏->对手}

{{$media->content}

@endforeach

为什么我的图像没有显示在
媒体索引
视图上?我想这可能与文件路径有关,但我已经尝试了我能想到的每一种有意义的组合,但没有任何效果。

您无法从web访问
存储
文件夹<代码>存储/应用/媒体
将永远无法访问。如果您使用的是公共磁盘(它创建了从
storage/app/public
public/storage
)的符号链接),则将图像存储到
storage/app/public/media
。现在可以从
/public/storage/media
访问图像。所以你的图像来源是

src="{{ asset("storage/media/{$media->file_name}.jpg") }}"
如果不使用公共磁盘,请将其上载到root
public
文件夹下的任意位置,并相应地访问它


公共磁盘上的文档

对于Laravel 5,在项目根目录上打开终端并运行:

php artisan storage:link

这将在存储/app公共文件夹之间创建链接。

Hmmm这仍然不起作用。如果我从finder打开公共/存储/媒体中的文件,我应该能够看到它吗?因为我没有。我想我不应该这样做,因为这个路径只代表到存储/app/public/media的符号链接,但我想知道这是否就是问题所在?如果符号链接有效,那么
public/storage/media
路径会将您重定向到
storage/app/public/media
。但最终文件需要在
存储/app/public/media
中。如果您没有symlink,请运行
php artisan storage:link
来创建它。我如何确认symlink工作正常?我知道我是通过在我的项目目录的终端中运行
php-artisan-storage:link
创建的,但不确定为什么它不工作。从您的
公共
文件夹运行
ls-la
public/storage
文件夹应该链接到
storage/app/public
。好吧,看起来是这样的,我运行该命令的最后一行是
lrwxr-xr-x 1 me staff 57 May 23 20:15 storage->/Users/me/projects/specificproject/storage/app/public
php artisan storage:link