Iam在共享主机上部署我的项目网站。并按照以下教程将公共(本地)文件夹上的所有内容移至public_html(托管)
我的结构
(/ home / sippausr)
laravel
日志
邮件
public_ftp
public_html->
css
文件
家
图片
js
kalibrasi
公共
sop
主题
现在我有一个控制器将该数据发送到文件夹 文件
我的控制器
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);// i think this problem on here
$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');
}
但是该图像无法保存在目录文件中。此名称图像已保存在数据库中,但未保存该文件。 我该如何解决?
答案 0 :(得分:1)
也许您已应用symlink
并将您定向到其他文件夹?
尝试解决或确保您首先指向正确的路径
如果其他所有方法均失败,则您需要编辑config / filesystems.php
文件中的默认保存文件夹
特别是这部分:
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
],
],
您可以更改root
键以专门指向所需的文件夹。
由于您已经提到已将其部署或上载到主机上,因此可以尝试使用我以前做过的一件事并解决问题
'public' => [
'driver' => 'local',
//When I upload my Laravel app in a shared hosting I uncomment the code below, to specifically pinpoint to my "storage" folder of the app
'root' => '/home/w8p8r839yfqy/public_html/storage/',
//But when I continue coding locally or in my personal machine, I uncomment the code below
'root' => storage_path('../public/storage/'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],