2015-05-04 82 views
0

在我的网站上,用户可以在标准文本输入字段中输入HTTP状态代码。即200,400,404,403等等......PHP有效的http状态

有没有什么办法检查HTTP状态码是否有效。例如,如果用户输入'123',它将返回false。我目前无法想象或找到一种方法,而不是做一个大的丑陋的if或switch语句。

回答

1

有没有内置函数在PHP来实现这一点,但一查比ifswitch语句更简洁的方式可能是利用数组:

$validStatusCodes = [200, 201, 202, ...]; 

if (in_array($submittedStatusCode, $validStatusCodes)) { 
    // Ok 
} else { 
    // Not ok 
} 
+1

在http://php.net/manual/en/function.http-response-code.php#107261你可以找到与大多数状态码的开关 –

1

根据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"; 
    }