我尝试在 ubuntu 中使用以下代码上传文件
$file = $request->file('file_upload');
$destination = app_path() . '/myStorage/';
$fileName = $sampleName . '-' . date('Y-m-d-H:i:s') . '.' . $file->getClientOriginalExtension();
$file->move($destination, $fileName);
而且效果很好。现在我正在尝试在 Windows 操作系统中运行相同的代码,但出现以下错误
无法将文件"C:''wamp64''tmp''php6570.tmp"移动到"C:''wamp64''www''gittest''gittest''IBA''app''myStorage''Test-2016-02-17-10:43:27.xlsx" ((
代码中是否存在任何问题或是否存在权限问题?请帮助我。
文件名包含":",这是文件名中不允许的窗口。这就是您可能收到错误的原因。
尝试
$filename = $sampleName . '-' . date('Y-m-d-H_i_s') . '.' . $file->getClientOriginalExtension();
然后应该能够保存文件。
基本上将日期(格式(中的":"(冒号(替换为Windows上允许作为文件名的任何内容。即使是空格也可以,例如:
$filename = $sampleName . '-' .date('Y-m-d H i s') . '.' . $file->getClientOriginalExtension();
Or
$filename = $sampleName . '-'.date('Y-m-d g i A').'.' . $file->getClientOriginalExtension(); //ex output Test-2016-02-18 11 25 AM.xls