为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel改为存储临时文件

Laravel改为存储临时文件

PHP
桃花长相依 2021-04-06 17:15:49
我在下面有代码,而不是保存文件,而是将临时文件保存在适当的位置代码public function upload(Request $request){    //validate the file    if (!$request->hasFile('file_to_import')) {        return new JsonResponse([            'status'  => 'fail',            'message' => trans('json.needSelectFile'),        ]);    }    $file = $request->file('file_to_import');    if (strtolower($file->getClientOriginalExtension()) != 'csv') {        return new JsonResponse([            'status'  => 'fail',            'message' => trans('json.needValidCSV'),        ]);    }    $disk = Storage::disk('local');    if (!$disk->exists('feeds/translations')) {        $disk->makeDirectory('feeds/translations');    }    $uploaded_date = now();    $name_without_extension = str_replace('.' . $file->getClientOriginalExtension(), '', $file->getClientOriginalName());    $new_filename = $name_without_extension . ' - ' . $uploaded_date . '.' . $file->getClientOriginalExtension();    $location = storage_path('app/feeds/translations/', $new_filename);    $file->move($location);    return new JsonResponse([        'status'   => 'success',        'filename' => $new_filename,    ]);}file i uploadedwhat saved in my app location我需要的是保存真实文件translator_translations - 2019-04-15 05:52:50.csv而不是tmp文件。任何想法?
查看完整描述

2 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

您需要将文件名传递给move()函数,而不要传递给其他任何函数,否则它将采用临时名称。

$file->move($destinationPath,$filename);

注意事项:

您应该使用正确的文件名。文件名不应包含任何特殊字符,例如空格,逗号和冒号(:)。


查看完整回答
反对 回复 2021-04-23
  • 2 回答
  • 0 关注
  • 292 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信