跟我学Laravel之请求与输入(2)
return Redirect::to('form')->withInput();
return Redirect::to('form')->withInput(Input::except('password'));
注意: 如果你想持久化其它的信息,请参考 Session 类.
获取已持久化的用户提交的信息
Input::old('username');
文件上传
获取用户上传的文件
$file = Input::file('photo');
判断指定文件是否已经被上传
if (Input::hasFile('photo'))
{
//
}
file 方法返回了一个 Symfony\Component\HttpFoundation\File\UploadedFile 类的实例, 该类继承自PHP的 SplFileInfo 类,并提供了大量操作该用户上传的文件的方法。
移动一个已上传的文件
Input::file('photo')->move($destinationPath);
Input::file('photo')->move($destinationPath, $fileName);
获取一个已上传的文件在服务器的真实路径
$path = Input::file('photo')->getRealPath();
获取一个已上传的文件的大小
$size = Input::file('photo')->getSize();
获取一个已上传的文件的 MIME 类型
$mime = Input::file('photo')->getMimeType();
用户请求的详细信息
Request 类提供了许多 方法 用于获取关于请求的详细信息,该类继承自 Symfony\Component\HttpFoundation\Request 类。 下面提供了几个具有代表性的方法:
获取请求URI
$uri = Request::path();
判断请求路径是否符合指定模式
if (Request::is('admin/*'))
{
//
}
获取请求URL
$url = Request::url();
获取请求URI信息
$segment = Request::segment(1);
获取请求头里的Content-Type信息
$value = Request::header('Content-Type');
获取 $_SERVER 数组里指定的值
$value = Request::server('PATH_INFO');
判断是否是使用ajax请求
if (Request::ajax())
{
//
}
判断请求是否使用https连接
if (Request::secure())
{
//
}
检测请求的响应格式
Request::format 方法基于 HTTP 请求头的 Accept 信息返回客户端希望获取的响应格式:
if (Request::format() == 'json')
{
//
}