Chr*_*hvh 6 php laravel laravel-5 intervention
在我的本地开发中,我使用下面显示的代码,它完美无缺,
但当我将网站上传到我的共享主机时,一切正常,除了我的文件上传.我已经确定问题涉及到
->getRealPath()
,当dd();
我得到这条道路时:
/data/sites/web/christophvhbe/tmp
哪个在我的托管上不存在.但我发现临时图像存储在我的托管位置,tmp/
位于此处:http://gyazo.com/e0199718324119109a4ff66321414e12.
如何将->getRealPath()
值更改为正确的值?
$fileName = time() . '-' . $request->file('foto')->getClientOriginalName();
$product->foto = $fileName;
$product->save();
$imagePath = '/images/producten/'. $fileName;
$image = Image::make($request->file('foto')->getRealPath())->fit(300)->save($imagePath);
Run Code Online (Sandbox Code Playgroud)
我正在使用该Image/intervention
程序包上传和存储图像.
您帐户的 root 很可能是/data/sites/web/christophvhbe
,并且这getRealPath
是完全准确的(您在 FTP 中看到的内容可能是chrooted)。结果,$imagePath
实际上是你的问题。
$imagePath = '/data/sites/web/christophvhbe/images/producten/'. $fileName;
Run Code Online (Sandbox Code Playgroud)
或者,更好的是,使用 Laravelbase_path
和/或public_path
助手,这样如果您更改托管,即使路径发生变化,它仍然可以工作:
$imagePath = public_path() . '/images/producten/' . $fileName;
Run Code Online (Sandbox Code Playgroud)
如果您查阅错误日志,我敢打赌您会发现尝试在服务器/images
目录中创建文件时出现权限错误,而在共享主机上您肯定无法创建或访问该文件。
归档时间: |
|
查看次数: |
12694 次 |
最近记录: |