php状态码
① php header 返回状态吗
面试时很多人问我这个,记录一下200是ok,404表示页面未找到.
HTTP协议状态码,调用函数时候只需要将$num赋予一个下表中的已知值就直接会返回状态了。
<?PHP
/**
*
*HTTP协议状态码,调用函数时候只需要将$num赋予一个下表中的已知值就直接会返回状态了。
*@paramint$num
*/
functionhttps($num){
$http=array(
100=>"HTTP/1.1100Continue",
101=>"HTTP/1.1101SwitchingProtocols",
200=>"HTTP/1.1200OK",
201=>"HTTP/1.1201Created",
202=>"HTTP/1.1202Accepted",
203=>"HTTP/1.1203Non-AuthoritativeInformation",
204=>"HTTP/1.1204NoContent",
205=>"HTTP/1.1205ResetContent",
206=>"HTTP/1.1206PartialContent",
300=>"HTTP/1.1300MultipleChoices",
301=>"HTTP/1.1301MovedPermanently",
302=>"HTTP/1.1302Found",
303=>"HTTP/1.1303SeeOther",
304=>"HTTP/1.1304NotModified",
305=>"HTTP/1.1305UseProxy",
307=>"HTTP/1.1307TemporaryRedirect",
400=>"HTTP/1.1400BadRequest",
401=>"HTTP/1.1401Unauthorized",
402=>"HTTP/1.1402PaymentRequired",
403=>"HTTP/1.1403Forbidden",
404=>"HTTP/1.1404NotFound",
405=>"HTTP/1.1405MethodNotAllowed",
406=>"HTTP/1.1406NotAcceptable",
407=>"HTTP/1.",
408=>"HTTP/1.1408RequestTime-out",
409=>"HTTP/1.1409Conflict",
410=>"HTTP/1.1410Gone",
411=>"HTTP/1.1411LengthRequired",
412=>"HTTP/1.1412PreconditionFailed",
413=>"HTTP/1.1413RequestEntityTooLarge",
414=>"HTTP/1.1414Request-URITooLarge",
415=>"HTTP/1.1415UnsupportedMediaType",
416=>"HTTP/1.",
417=>"HTTP/1.1417ExpectationFailed",
500=>"HTTP/1.1500InternalServerError",
501=>"HTTP/1.1501NotImplemented",
502=>"HTTP/1.1502BadGateway",
503=>"HTTP/1.1503ServiceUnavailable",
504=>"HTTP/1.1504GatewayTime-out"
);
header($http[$num]);
}
?>
@header('HTTP/1.0404NotFound');
② PHP 接口的状态码返回问题
你是要取到B处理完后的返回状态,还是说要取B处理完后调用A的a.php时所带的参数,如果只是取所带的参数,你在a.php 里面直接$_GET['result']就取到了,
③ PHP获取客户端状态码返回200或404
今天做了个程序,需要取得HTTP状态码,于是继续搜索无力,果然中文资源非常少,于是去查了PHP的手册。
找到了curl这个小工具。
使用curl需要在php.ini中设置启用才行 >< Windows的服务器中,打开php.ini,找到:
extension=php_curl.dll
去掉前面的注释既可 。
实现代码如下:
$curl = curl_init();
$url=’http://www.smdcn.net’;
curl_setopt($curl, CURLOPT_URL, $url); //设置URL
curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header
curl_setopt($curl,CURLOPT_NOBODY,true); //Body就不要了吧,我们只是需要Head
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了
$data = curl_exec($curl); //开始执行啦~
echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //我知道HTTPSTAT码哦~
curl_close($curl); //用完记得关掉他
完成~~
④ thinkphp框架 页面正常打开 返回状态码为404
把你的缓存清空,debug为true的时候是不使用缓存的,所以正常。为false的时候使用了缓存。记得清空所有的缓存
⑤ 访问服务器上的PHP文件出错,如何看到具体错误信息
首先看下浏览器返回的状态码,404表示你的PHP项目中木有默认页,500表示你的PHP项目中某个文件有硬性错误,接着呢,到php.ini中开启下出错开关,就可以发现是PHP函数或变量出错还是mysql连接出错了。。。,最好放截图。
平常如果遇到问题,可以多去后盾人看一些相关的视频,看不懂多看几遍,总会有用的。
⑥ PHP的exec函数调用cmd命令之后返回的状态码为128是怎么回事
那要看具体调用的是什么命令
exec(<cmd>, <&output>, <&exit_code>)
如果执行的命令是有输出信息的,你可以把 output输出出来看看错误信息
⑦ PHP curl 获取响应的状态吗
PHP curl可以从服务器端模拟一个http请求,例如抓取网页、模拟登陆等。根据选项设置,可以在curl_exec的返回结果中获取到响应头和body,但这没有响应的状态吗。想要获取状态码,需要在执行curl_exec后再通过curl_getinfo来获取。例如:
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://www.google.com.hk');
curl_setopt($ch,CURLOPT_TIMEOUT,200);
curl_setopt($ch,CURLOPT_HEADER,FALSE);
curl_setopt($ch,CURLOPT_NOBODY,FALSE);
#curl_setopt($ch,CURLOPT_POSTFIELDS,"username=".$username."&password=".$password);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,FALSE);
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'GET');
curl_exec($ch);
$httpCode=curl_getinfo($ch,CURLINFO_HTTP_CODE);//获取
⑧ php 怎么获得状态码
<?php
header("content-type:text/html;charset=utf-8");
$url="http:";
$url.="//www";
$url.=".";
$url.=".com";
$handle=get_headers($url);
echo "状态码为:".$handle[0];
?>
//状态码为:HTTP/1.1 200 OK