【问题标题】:Can't write image data to path laravel 5.2无法将图像数据写入路径 laravel 5.2
【发布时间】:2016-07-24 19:18:45
【问题描述】:

我将我的 laravel 应用程序托管在一个烧焦的主机中,我将我的 laravel 项目上传到根目录,并将我的公共文件夹上传到 public_html 目录。

图片

我想将图像保存在avater_imgassistant_imgdoctor_img

为此我编写了这段代码

$file = Input::file('photo');
        if($file != ""){
            $ext = $file->getClientOriginalName();
            $file_name = rand(10000,50000).'.'. $ext;
            $image = Image::make(Input::file('photo'));
            $image->resize(300,300);
            $image->save(public_path() . '/doctor_img/' . $file_name);
        }

它会返回这个错误

我该如何解决这个错误

【问题讨论】:

  • Google 对这个错误有什么看法?您是否尝试过 Google 建议的任何修复?如果是,那后来发生了什么?
  • 试着看看这个答案:stackoverflow.com/a/19923994/2079781 虽然你可能需要改变一些东西才能在 Laravel 5.2 上工作。

标签: php image laravel-5.2


【解决方案1】:

问题是您没有使用默认的 Laravel 文件结构,因此您的 public_path() 仍然指向 /home/dermopres/laravel/public,如错误消息中所述。

你应该做的第一件事是根据你当前的文件结构设置你的 Laravel 应用程序。

在您的 public_html/index.php 上更改以下行:

require __DIR__.'/../bootstrap/autoload.php';

$app = require_once __DIR__.'/../bootstrap/app.php';

require __DIR__.'/../laravel/bootstrap/autoload.php';

$app = require_once __DIR__.'/../laravel/bootstrap/app.php';

并将这一行添加到 /laravel/bootstrap/app.php:

$app->bind('path.public', function() {
return __DIR__.'/../../public_html';
});

【讨论】:

    【解决方案2】:

    您必须使医生_img 目录可写

    如果你在 linux/homestead 上

    在终端下面运行

    sudo chmod 666 -R /home/dermopres/laravel/public/doctor_img
    

    【讨论】:

      【解决方案3】:

      您的图片路径错误。 应该是这样的。

      $image->save(public_path() . '../doctor_img/' . $file_name);

      当 public_path() 进入公用文件夹时。

      【讨论】:

        猜你喜欢
        • 2017-01-25
        • 2020-03-29
        • 2020-05-07
        • 2023-01-09
        • 1970-01-01
        • 2015-11-06
        • 1970-01-01
        • 2016-01-15
        • 1970-01-01
        相关资源
        最近更新 更多