0
在我的网站上,用户可以在标准文本输入字段中输入HTTP状态代码。即200,400,404,403等等......PHP有效的http状态
有没有什么办法检查HTTP状态码是否有效。例如,如果用户输入'123',它将返回false。我目前无法想象或找到一种方法,而不是做一个大的丑陋的if或switch语句。
在我的网站上,用户可以在标准文本输入字段中输入HTTP状态代码。即200,400,404,403等等......PHP有效的http状态
有没有什么办法检查HTTP状态码是否有效。例如,如果用户输入'123',它将返回false。我目前无法想象或找到一种方法,而不是做一个大的丑陋的if或switch语句。
有没有内置函数在PHP来实现这一点,但一查比if
或switch
语句更简洁的方式可能是利用数组:
$validStatusCodes = [200, 201, 202, ...];
if (in_array($submittedStatusCode, $validStatusCodes)) {
// Ok
} else {
// Not ok
}
根据w3.org的以下HTTP/1.1
状态代码是有效的:
$status_code = array("100","101","200","201","202","203","204","205","206","300","301","302","303","304","305","306","307","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","500","501","502","503","504","505");
if(in_array("404", $status_code)){
echo "valid";
}else{
echo "invalid";
}
在http://php.net/manual/en/function.http-response-code.php#107261你可以找到与大多数状态码的开关 –