我有一个上传文件的功能。在本地主机上,它没有错误。但是,在我部署到共享主机上之后,它就有问题了。如果本地主机,我没有移动一些文件夹,但在“教程”共享托管,我需要制作2个文件夹。拉拉和公众。这个laravel文件夹是在没有公共的laravel项目中的所有文件。
它是我在共享主机上的模式。
(/home/sippausr)
等
laravel ->
- files ( this file saved here)
日志
邮件
public_ftp
public_html ->
我有一个上传文件的函数,并将这个文件保存到public_html上的目录文件中,如下所示
public function store6(Request $request)
{
$this->validate($request, [
]);
if($request->hasfile('image'))
{ $file = $request->file('image');
$name=$file->getClientOriginalName();
$file->move(public_path().'/files/', $name);
$data = $name;
}
$user = new pemeliharaan;
$id = Auth::user()->id;
$user->user_id = $id;
$user->alat_id = $request->alat_id;
$user->pertanyaan =json_encode($request->except
(['_token','name','alat_id','status','catatan','image']));
$user->catatan = $request->catatan;
$user->image=$data;
$user->status = $request->status;
$user->save();
// dd($user);
return redirect('user/show6')->with('success', 'Data Telah Terinput');
}
但是,这个文件没有将保存在public_html/ file中,
该文件保存在public_html上的Laravel文件夹中(您可以在模式中看到)。有人能帮我吗?
发布于 2019-05-16 15:11:45
如果我理解,您希望将文件保存在Laravel目录之外,为了存储文件,您正在使用"public_path()“方法,该方法在laravel级别目录中写入,因此,可能的解决方案是在.env文件中声明一个变量。
PUBLIC_DIRECTORY="/var/www/public_html/" ##Path to your public_directory
然后像这样修改代码:
if($request->hasfile('image')){
$file = $request->file('image');
$name=$file->getClientOriginalName();
$file->move(env('PUBLIC_DIRECTORY').'/files/', $name);
$data = $name;
}
我希望我帮了你
发布于 2019-05-18 04:27:58
在公共目录中创建一个“文件”目录
对文件目录给予权限
if($request->hasfile('image')){
$path = '/files/';
$file = $request->file('image');
$name=$file->getClientOriginalName();
$file->move($path, $name);
$data = $name;
}
https://stackoverflow.com/questions/56168840
复制相似问题