755彩票

请求类Request获取前请求的资源类型有bug

浏览:113 发布日期:2019/12/06 分类:ThinkPHP5专区 关键字: Request
//文件:thinkphp/library/think/Request.php line763
原代码:
/**
* 当前请求的资源类型
* @access public
* @return false|string
*/
public function type()
{
$accept = $this->server('HTTP_ACCEPT');

if (empty($accept)) {
return false;
}

foreach ($this->mimeType as $key => $val) {
$array = explode(',', $val);
foreach ($array as $k => $v) {
if (stristr($accept, $v)) {
return $key;
}
}
}

return false;
}


//测试表明,无法获取真实的类型,查看原码,发现该方法有BUG
修改后:

/**
* 当前请求的资源类型
*
* @access public
* @return false|string
*/
public function type()
{
$accept = $this->server('HTTP_ACCEPT');

if (empty($accept)) {
return false;
}
//当前请求类型
$contentType=$this->header('content-type');
foreach ($this->mimeType as $key => $val) {
$array = explode(',', $val);
foreach ($array as $k => $v) {
//比对当前请求类型对应的key, 如xml,json,pdf等
if (stristr($v, $contentType)) {
return $key;
}
}
}

return false;
}


//以上是我修改后的代码,望采纳。如查能帮到更多人,是我的荣幸

最佳答案
评论( 相关
后面还有条评论,点击查看>>
欢乐斗牛 80彩票 牛牛彩票 128彩票 盛通彩票 128彩票 贵州快3计划 916彩票 奔驰彩票开奖 合乐彩票