Laravel 不显示上传的图片(共享主机)
Laravel doesn't show uploaded images (Shared Host)
我有一个共享主机,我只能通过 Cpanel 访问。
但是我有一个小问题,因为上传的图片没有出现。
有谁知道怎么解决吗?
保存图片的代码
$request->picture->storeAs('public/upload/authors', $filename);
查看图片的代码
<img src="{{ asset('storage/upload/authors/'.$author->picture.'') }}" width="75" height="75">
有谁知道它会是什么吗??
您在尝试提交表单时遇到错误吗?当您浏览到所谓的上传图片时,您是否收到 404 错误?这听起来像是上传文件夹没有足够的权限来存储上传的图片。尝试将上传文件夹的权限设置为775。
关于 CHMOD 的更多信息:http://www.stadtaus.com/en/tutorials/chmod-ftp-file-permissions.php
检查一下,如果您上传的图片出现在 /public/upload/authors
目录下,请使用:
<img src="{{ asset('upload/authors/'.$author->picture.'') }}" width="75" height="75">
如果您上传的图片出现在 /storage/app/public/upload/authors
目录下,请使用:
<img src="{{ Storage::get('public/upload/authors/'.$author->picture.'') }}" width="75" height="75">
P.S。抱歉,我不记得 storeAs 函数到底存储在哪里:在 public 或存储 :)
注意! asset() 函数正在从 app/public
文件夹获取文件 url,但是 Storage::get() 正在从 app/storage/app
文件夹
获取文件
我这样解决了我的问题。在 public 文件夹中,我使用以下代码创建了一个名为 symlink.php
的文件。
<?php
symlink('/home/server_name/project_app_folder/storage/app/public',
'/home/server_name/public_html/storage');
我在 public_html
中删除了文件夹 storage
,并在 public_html
中上传了我的 .php
文件。然后我运行代码通过域访问域example.com/symlink.php
。最后,服务器创建一个链接到项目存储文件夹的文件夹。
我有一个共享主机,我只能通过 Cpanel 访问。
但是我有一个小问题,因为上传的图片没有出现。
有谁知道怎么解决吗?
保存图片的代码
$request->picture->storeAs('public/upload/authors', $filename);
查看图片的代码
<img src="{{ asset('storage/upload/authors/'.$author->picture.'') }}" width="75" height="75">
有谁知道它会是什么吗??
您在尝试提交表单时遇到错误吗?当您浏览到所谓的上传图片时,您是否收到 404 错误?这听起来像是上传文件夹没有足够的权限来存储上传的图片。尝试将上传文件夹的权限设置为775。
关于 CHMOD 的更多信息:http://www.stadtaus.com/en/tutorials/chmod-ftp-file-permissions.php
检查一下,如果您上传的图片出现在 /public/upload/authors
目录下,请使用:
<img src="{{ asset('upload/authors/'.$author->picture.'') }}" width="75" height="75">
如果您上传的图片出现在 /storage/app/public/upload/authors
目录下,请使用:
<img src="{{ Storage::get('public/upload/authors/'.$author->picture.'') }}" width="75" height="75">
P.S。抱歉,我不记得 storeAs 函数到底存储在哪里:在 public 或存储 :)
注意! asset() 函数正在从 app/public
文件夹获取文件 url,但是 Storage::get() 正在从 app/storage/app
文件夹
我这样解决了我的问题。在 public 文件夹中,我使用以下代码创建了一个名为 symlink.php
的文件。
<?php
symlink('/home/server_name/project_app_folder/storage/app/public',
'/home/server_name/public_html/storage');
我在 public_html
中删除了文件夹 storage
,并在 public_html
中上传了我的 .php
文件。然后我运行代码通过域访问域example.com/symlink.php
。最后,服务器创建一个链接到项目存储文件夹的文件夹。