Laravel 为用户上传的文件生成带有时间戳的文件名。
示例
以下内容不适用于Windows计算机
$file = $request->file('file_upload');
$sampleName = 'UserUpload';
$destination = app_path() . '/myStorage/';
$fileName = $sampleName . '-' . date('Y-m-d-H:i:s') . '.' .
$file->getClientOriginalExtension();
$file->move($destination, $fileName);它将引发类似“无法将文件移至/path...”的错误。
为什么?-这在Ubuntu服务器上完美运行
。原因是在Windowscolon':'上不允许使用Linux允许的文件名。这是一件很小的事情,我们可能不会在一开始就注意到它,并且一直想知道为什么在Ubuntu(Linux)上运行良好的代码无法正常工作?
我们的第一个直觉是检查文件权限和类似的内容,但我们可能没有注意到这colon':'是罪魁祸首。
因此,为了在Windows上上传文件,请不要colon':'在生成带有时间戳的文件名时使用,而是执行以下操作:
$filename = $sampleName . '-' . date('Y-m-d-H_i_s') . '.' . $file->getClientOriginalExtension(); //ex输出UserUpload-2016-02-18-11_25_43.xlsx
OR
$filename = $sampleName . '-' .date('Y-m-d H i s') . '.' . $file->getClientOriginalExtension(); //ex输出UserUpload-2016-02-18112543.xlsx
OR
$filename = $sampleName . '-'.date('Y-m-d_g-i-A').'.' . $file->getClientOriginalExtension(); //ex输出UserUpload-2016-02-18_11-25-AM.xlsx
热门推荐
7 祝福语简短古诗词
10 佛教生日祝福语简短大全
11 英语简短祝福语给学生
12 动心的生日祝福语简短
13 老哥出门祝福语简短语
14 送去考试祝福语大全简短
15 儿媳买车妈妈祝福语简短
16 三十三句祝福语简短
17 简短朋友旅行祝福语大全
18 初八祝福语简短语