无法upload exe、dll等类型的文件。其他txt、pdf、lib等文件都可以upload。
1. 运行环境
1). 当前使用的 Laravel 版本?
10.5.1
//: <> (使用 php artisan --version
命令查看)
2). 当前使用的 php/php-fpm 版本?
PHP 版本:8.2.0
php-fpm 版本:
3). 当前系统
Windows 10
//: <> (期待数值 Windows 10 / Ubuntu 20.4 / CentOS 8 )
4). 业务环境
开发环境
//: <> (期待信息 开发环境
或 生产环境
)
//: <> (是否使用负载均衡?请提供相关信息)
5). 相关软件版本
MySQL: 10.4.27
//: <> (提供相关软件的版本,如 Nginx 、MySQL、MongoDB 等)
2. 问题描述?
利用如下代码获取upload文件
<span class="col2"><input type="file" name="upfile"></span>
提交
document.board.submit();
在web.php利用如下代码获取文件实例并移动到指定位置和指定文件名。
Route::post('/insert', function (Request $request) { $token = csrf_token(); // Get the uploaded file from the request $file = $request->file('upfile'); //dd($file); //如果文件是exe,dll等类型,会显示文件位于D:\xampp\tmp\php64B7.tmp,但实际上没有这个文件 // Store the file in the "uploads" directory $path = $file->storeAs('uploads', date("Y_m_d_H_i_s").".".$file->extension()); dd($path); //如果文件是exe,dll等类型,会显示false。txt,pdf,lib等类型文件会显示正常路径。 return view('insert', ["file"=>$file]); });
3. 您期望得到的结果?
上传exe, dll等文件的时候,$path也是正常路径,也就是说文件上传和转移成功。
//: <> (能截图就截图。)
4. 您实际得到的结果?
上传exe, dll等文件的时候,$path是false,也就是说文件上传和转移失败。
//: <> (有报错信息的话把堆栈信息提供出来)
这是我的上传文件代码,exe和dll文件是可以正常上传的