Windows 10中的文件上载权限Laravel

时间:2016-02-17 10:58:11

标签: php windows laravel-5.1

我尝试使用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" ()

代码中是否有任何问题或是否存在权限问题? 请帮帮我。

1 个答案:

答案 0 :(得分:1)

文件名包含':',文件名中的窗口不允许使用。这就是你得到错误的原因 试试

$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