如何使用laravel重命名已存储在服务器中的文件


How to rename a file which already stored in the server using laravel?

我正在使用Laravel 5。我有一个表单,里面有一个上传文件。如果我想编辑数据并编辑文件(上传新文件),它是有效的。但是,如果我想在不上传新文件的情况下编辑数据(例如邮件的名称,因为文件的名称取决于邮件的名称),它只需更改数据库中的文件名即可工作,而无需重命名存储在服务器中的文件,因此当我单击查看文件时,我会收到一个错误,即找不到文件。你知道如何替换文件名吗

$destination = 'files';
    if($request->hasFile('ubah_upload_file')) {
        $file = $request->file('ubah_upload_file');
        $extension = $file->getClientOriginalExtension();
        $file_name =  str_replace('/','_',$request['ubah_nomor_surat']) . '.' . $extension;
        $file->move($destination, $file_name );
    } else {
        $file_name =  str_replace('/','_',$request['ubah_nomor_surat']) . '.' . "pdf";
    }

使用rename()函数重命名文件

Ps:如果将其永久重命名为,也要更新数据库中的名称