php web 请求控制

来源:互联网 发布:精神发育迟缓症状知乎 编辑:程序博客网 时间:2024/06/05 03:58
1、PHP 9大预定义数组
预定义数组 说明
$_SERVER 变量由web服务器设定或者直接与当前脚本的执行环境相关联
$_ENV 执行环境提交至脚本的变量
$_GET 经由URL请求提交至脚本的变量
$_POST 经由http post方法提交至脚本的变量
$_REQUEST 经由get、post和cookie机制提交至脚本的变量,因此该数组并不值得信任
$_FILES 经由http、post文件上传而提交至脚本的变量
$_COOKIE 经由http cookies方法提交至脚本的变量
$_SESSION 当前注册给脚本会话的变量
$GLOBALS 包含一个引用指向每个当前脚本的全局变量范围内有效的变量。该数组的键名为全局变量的名称


2、$_SERVER部分字段说明
$_SERVER['REMOTE_ADDR'];//显示客户端IP的预定义变量
$_SERVER['HTTP_REFERER'];//提供来路url,即防盗链referer
$_SERVER['REMOTE_HOST'];//当前用户主机名;
$_SERVER['PHP_SELF'];//正在执行脚本的文件名 
$_SERVER['REQUEST_METHOD'];//访问页面时的请求方法 
$_SERVER['SCRIPT_FILENAME'];//当前执行脚本的绝对路径名。 
$_SERVER['SERVER_PORT'];//服务器所使用的端口 


3、GET和POST方法有什么区别
GET方法,所有的信息都会出现在URL地址中,并且使用GET方法最多只能传递1024个字符,所以如果在传输量小或者安全性不那么重要的情况下可以使用GET方法。
POST方法,最多可以传输2MB字节的数据,而且可以根据需要调节


4、$_POST/$HTTP_RAW_POST_DATA和php://input的区别

三者都是获取表单数据,但是也有很大的区别

$_POST:可以获取media type是"applicaiton/x-www-form-urlencoded" 以及 enctype='multipart/form-data' 两种方式传递的数据。但是唯一不同的是当"applicaiton/x-www-form-urlencoded" 时,字段名和值都进行了编码,每个key-value对使用‘&’分隔,key和value使用‘=’分开,其他特殊字符都会被urlencode进行编码


$HTTP_RAW_POST_DATA:只支持再"applicaiton/x-www-form-urlencoded" 下传递数据可以获取原始的POST数据,但需要在php.ini中设置开启


php://input:只支持再"applicaiton/x-www-form-urlencoded" 下传递数据,但是比$HTTP_RAW_POST_DATA更少的消耗内存


5、php中将当前页面重定向到另一个页面怎么写?

header();