我将laravel应用程序托管在一个枯萎的托管中,然后将我的laravel项目上传到根目录,然后将我的公共文件夹上传到public_html目录。
我想在avater_img
或assistant_img
或doctor_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);
}
如何解决此错误
答案 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()转到公共文件夹时。