【问题标题】:Laravel doesn't show uploaded images (Shared Host)Laravel 不显示上传的图片(共享主机)
【发布时间】:2019-04-30 13:16:07
【问题描述】:

我有一个共享主机,我只能通过 Cpanel 访问。

但是我有一个小问题,因为上传的图片没有出现。

有人知道怎么解决吗?

我保存图像的代码

$request->picture->storeAs('public/upload/authors', $filename);

查看图片的代码

<img src="{{ asset('storage/upload/authors/'.$author->picture.'') }}" width="75" height="75">

有人知道这是什么吗?

【问题讨论】:

    标签: php laravel laravel-5 cpanel shared-hosting


    【解决方案1】:

    我通过这种方式解决了我的问题。在公用文件夹中,我使用以下代码创建了一个名为symlink.php 的文件。

    <?php
    
    symlink('/home/server_name/project_app_folder/storage/app/public', 
        '/home/server_name/public_html/storage');
    

    我删除了public_html 中的文件夹storage 并将我的.php 文件上传到public_html。然后我通过访问域example.com/symlink.php 的域运行代码。最后,服务器会创建一个链接到项目存储文件夹的文件夹。

    【讨论】:

      【解决方案2】:

      您在尝试提交表单时是否遇到错误?当您浏览应该上传的图片时,您是否收到 404 错误?这听起来像上传文件夹没有足够的权限来存储上传的图片。尝试将上传文件夹的权限设置为775。

      关于 CHMOD 的更多信息:http://www.stadtaus.com/en/tutorials/chmod-ftp-file-permissions.php

      【讨论】:

      • Form提交了,但是图片没有出现后,upload文件夹有premissions 755
      【解决方案3】:

      检查您上传的图片是否出现在/public/upload/authors 目录下使用:

      &lt;img src="{{ asset('upload/authors/'.$author-&gt;picture.'') }}" width="75" height="75"&gt;

      如果您上传的图片出现在/storage/app/public/upload/authors 目录下,请使用:

      &lt;img src="{{ Storage::get('public/upload/authors/'.$author-&gt;picture.'') }}" width="75" height="75"&gt;

      附:抱歉,我不记得 storeAs 函数的确切存储位置:在公共或存储中:)

      注意! assets() 函数正在从app/public 文件夹中获取文件 url,但 Storage::get() 正在从 app/storage/app 文件夹中获取文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-05
        • 2017-09-20
        • 2020-02-24
        • 1970-01-01
        • 1970-01-01
        • 2020-01-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多