Yas*_*ssi 26 php validation mime-types laravel
我是Laravel的新手.我有一个带有文件上传功能的表单.我该如何验证他们的文件?我只允许使用Microsoft Word文件.这是我的验证码.
我只是想检查他们是否插入了ms word文件,如果没有,则不会被处理.
public function store()
{
// Validate
$rules = array(
'pda' => 'required|unique:forms',
'controlnum' => 'required|unique:forms',
'date' => 'required',
'churchname' => 'required',
'title' => 'required',
'pastorname' => 'required',
'contactnum' => 'required',
'address' => 'required',
'state' => 'required',
'region' => 'required',
'area' => 'required',
'city' => 'required',
'zipcode' => 'required|numeric|max:9999',
'tgjteachertraining' => 'required',
'localcontact' => 'required',
'tgjdatestart' => 'required',
'tgjdateend' => 'required',
'tgjcourse' => 'required|numeric',
'childrengraduated' => 'required|numeric|max:450',
'childrenacceptjesus' => 'required|numeric',
'howmanycomitted' => 'required|numeric',
'recievedbibles' => 'required|numeric',
'descgradevent' => 'required',
'whatwillyoudo' => 'required',
'pastortest' => 'required',
'teachertest' => 'required',
'childrentest' => 'required',
'file' => 'required|max:10000',
);
$validator = Validator::make(Input::all(), $rules);
// process the form
if ($validator->fails()) {
return Redirect::to('forms/create')->withErrors($validator);
} else {
// store
$forms = new Forms;
$forms->pda = Input::get('pda');
$forms->controlnum = Input::get('controlnum');
$forms->date = Input::get('date');
$forms->churchname = ucwords(Input::get('churchname'));
$forms->title = ucwords(Input::get('title'));
$forms->pastorname = ucwords(Input::get('pastorname'));
$forms->address = Input::get('address');
$forms->contactnum = Input::get('contactnum');
$forms->state = Input::get('state2');
$forms->region = Input::get('region2');
$forms->area = Input::get('area2');
$forms->citytown = Input::get('city2');
$forms->zipcode = Input::get('zipcode');
$forms->tgjteachertraining = Input::get('tgjteachertraining');
$forms->localcontact = ucwords(Input::get('localcontact'));
$forms->tgjdatestart = Input::get('tgjdatestart');
$forms->tgjdateend = Input::get('tgjdateend');
$forms->tgjcourse = Input::get('tgjcourse');
$forms->childrengraduated = Input::get('childrengraduated');
$forms->childrenacceptjesus = Input::get('childrenacceptjesus');
$forms->howmanycomitted = Input::get('howmanycomitted');
$forms->recievedbibles = Input::get('recievedbibles');
$forms->descgradevent = Input::get('descgradevent');
$forms->whatwillyoudo = Input::get('whatwillyoudo');
$forms->pastortest = Input::get('pastortest');
$forms->teachertest = Input::get('teachertest');
$forms->childrentest = Input::get('childrentest');
$file = Input::file('file');
$filename = $file->getClientOriginalName();
$destinationPath = 'uploads/'.Input::get('pda');
$uploadSuccess = Input::file('file')->move($destinationPath, $filename);
$forms->docurl = 'uploads/'.Input::get('pda').'/'.$filename;
if( $uploadSuccess ) {
$forms->save();
//Session::flash('message', 'Successfully submitted form!');
return Redirect::to('forms/create');
Session::flash('message', 'Successfully submitted form!');
}
else {
return Response::json('error', 400);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Gad*_*oma 49
要在Laravel中验证文件输入的mime类型,您可以使用该mimes规则.请记住将检测到的mime类型与您提供的文件的实际mime相匹配.它可能因服务器而异.
例如,您要在表单中启用添加和Word文档:
1)config/mimes.php添加以下mime类型:
'doc' => array('application/msword', 'application/vnd.ms-office'),
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),
Run Code Online (Sandbox Code Playgroud)
2)在验证中$rules添加以下元素:
'file' => 'required|max:10000|mimes:doc,docx' //a required, max 10000kb, doc or docx file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65117 次 |
| 最近记录: |