无法将图像数据写入路径层5.2

时间:2016-04-05 03:00:34

标签: php image laravel-5.2

我将laravel应用程序托管在一个枯萎的托管中,然后将我的laravel项目上传到根目录,然后将我的公共文件夹上传到public_html目录。

图像 enter image description here

我想在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);
        }

它会回复此错误 enter image description here

如何解决此错误

3 个答案:

答案 0 :(得分: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';
});

答案 1 :(得分:0)

你必须使doctor_img目录可写

如果你在linux / homestead上

在终端上运行

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

答案 2 :(得分:0)

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

  

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

当public_path()转到公共文件夹时。