Laravel请求和输入
该篇文章主要介绍Laravel获取用户请求和输入信息的方法。
获取基本输入信息:
//获取输入数据,不用担心所使用的HTTP方法 $id = Input::get('id'); //可以指定默认值 $id = Input::get('id', 1); //检测提交信息是否存在 if(Input::has('id')) { echo Input::get('id'); } //获取提交的所哟信息 print_r(Input::all()); //获取指定的几个提交信息 print_r(Input::only('id')); //获取排除执行信息外的信息 print_r(Input::except('name')); //用点符号获取数组形式的输入信息 $input = Input::get('users.0.name');
Cookie信息:
所有cookie值都本laravel加密,擅自修改cookie将会被废弃;
//获取一个cookie的值 $value = Cookie::get('name'); //给响应添加新的cookie $response = Response::make('Hello World'); $response->withCookie(Cookie::make('name', 'value', $minutes)); //在响应之前添加到cookie队列,会被框架自动加到最终的响应中 Cookie::queue($name, $value, $minutes); //创建永不失效的cookie $cookie = Cookie::forever('name', 'value');
提交信息持久化,有时候会将一个请求中的信息持续到下一个请求中仍然有效。
//将用户提交的信息存入Session Input::flash(); //指定信息放session Input::flashOnly('username', 'email'); Input::flashExcept('password'); //跳到前一个页面,带上输入信息 return Redirect::to('form')->withInput(); return Redirect::to('form')->withInput(Input::except('password')); //获取持久化的信息 Input::old('username');
文件上传处理:
//取得上传文件 $file = Input::file('photo'); //判断有没有上传文件: if (Input::hasFile('photo')) { // } //移动上传的文件: Input::file('photo')->move($destinationPath); Input::file('photo')->move($destinationPath, $fileName); //取得上传文件的路径: $path = Input::file('photo')->getRealPath(); //取得上传文件的原始文件名: $name = Input::file('photo')->getClientOriginalName(); //取得上传文件的扩展名: $extension = Input::file('photo')->getClientOriginalExtension(); //取得上传文件的大小: $size = Input::file('photo')->getSize(); //取得上传文件的MIME类型: $mime = Input::file('photo')->getMimeType();
获取更多请求详细信息:
//获取请求URI echo Request::path(); //判断请求路径是否符合指定模式 if(Request::is('example/*')) { echo 'yes'; } //获取请求url echo Request::url(); //获取请求URI指定段的信息 echo Request::segment(1); //获取指定请求头信息 echo Request::header('Content-Type'); //获取$_SERVER中指定信息 print_r(Request::server('SERVER_ADDR')); //判断是否是ajax请求 if(Request::ajax()) { echo "is ajax request"; } //判断是否是https连接 if(Request::secure()) { echo "is https"; } //获取请求响应的格式 echo Request::format();