私は/ projects /(nameofproject - 必ずしも同じではない)/header.jpgと/ projects /(nameofproject - 必ずしも同じではない)/home.pngを持っています。Laravelストレージへのシンボリックリンクと写真を表示
私の見解ではどのように表示できますか?
私はもう少し説明します。 これまで、私は/ public/assets/img/projectsのプロジェクトを持っていましたが、今は動的に行います。
新しいプロジェクトを作成し、画像を保存するためにMy機能はこれです:私は、過去に私はこれでそれを表示しないプロジェクトの
public function storeProject(Request $request)
{
$project = new Project();
$project->slug = $request->input("slug");
$project->position = $request->input("position");
$project->public = $request->input("public");
$project->pathheader = $request->file('pathheader');
$project->pathhome = $request->file('pathhome');
\Storage::disk('projects')->makeDirectory($project->slug);
\Storage::disk('projects')->putFileAs($project->slug,$project->pathheader,'header.png');
\Storage::disk('projects')->putFileAs($project->slug,$project->pathhome,'home.png');
$project->save();
return redirect('/admin/projects');
}
画像:(私はビューに変数$を渡しますプロジェクト)
<p class="lead"><img src="/assets/img/projects/{{$project->slug}}/header.jpg" width="50%" >Header</p>
<p class="lead"><img src="/assets/img/projects/{{$project->slug}}/home.jpg" width="50%">Home</p>
保存フォルダのイメージを表示するにはどうすればいいですか?
EDIT
filesystems.phpコード:
'projects' => [
'driver' => 'local',
'root' => storage_path() . '/projects',
'visibility' => 'public',
],
Viewは今、このように見える:
@if (Storage::disk('projects')->has($project->slug))
<img src="{{ asset('storage/projects/'.$project-
>slug.'/header.jpg') }}" width="50%" >
@else
<p class="lead"><img src="/assets/img/projects/{{$project-
>slug}}/header.jpg" width="50%" >Header</p>
@endif
は私が作る:
PHPの職人ストレージ:リンク
画像のURL:http://url.loc/storage/projects/hola-que-tal/header.jpg(表示しないでください)。
https://stackoverflow.com/questions/40936332/laravel-link-to-a-file-saved-in-storage-folder – Bas
@Bas "ローカルドライバを使用している場合は、 public/storage/storage/app/publicディレクトリに置くべきです。また、storage/app/publicディレクトリを指すpublic/storageにシンボリックリンクを作成する必要があります。/storage/projects/$ foldername(変数) –