一、Request上传文件
在表单中添加enctype="multipart/form-data"属性
<form class="" action="" method="post" enctype="multipart/form-data">
$msg = new Msg;
$msg->title = $_POST['title'];
$msg->content = $_POST['content'];
$req->file('pic')->move('C:\wamp64\www\weibo\public','bb.png');
$res = $msg->save();
二、使用驱动做文件上传、找到config-》filesystems.php配置一个
使用Request
'upload' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
驱动做文件上传
$path = $req->file('pic')->store('upload');
$path = $req->file('pic')->storeAs('upload',date('YmdHis').mt_rand().'jpg');
在CMD中输入C:\wamp64\www\weibo>php artisan storage:link
return asset('storage/'.$path);
在env中设置使用public驱动
FILESYSTEM_DRIVER=public
再次在CMD中输入C:\wamp64\www\weibo>php artisan storage:link
使用Storage
引入use Storage;
$path = Storage::putFile('upload',$req->file('pic'));
$path = Storage::putFileAs('upload',$req->file('pic'),date('YmdHis').mt_rand().'jpg');
可以使用 hasFile 方法判断请求中是否存在指定文件
if ($request->hasFile('photo')) {
}
可以通过 isValid 方法验证上传的文件是否有效:
if ($request->file('photo')->isValid()) {
}