• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP header跳转详细分析

php 搞代码 3年前 (2022-01-22) 25次浏览 已收录 0个评论

对于这个函数没怎么深入了解过,一般是用于设置字符编码或者页面跳转,设置编码就不细说了。

以前对于header跳转只是知道跳转前严禁任何输出,否则的话会出错,但是今天看到一篇帖子让我从新认识了header:

1、要求header前没有任何输出

但 是很多时候在header前我们已经输出了好多东 西了,此时如果再次header的话,显然是出错的,在这里我们启用了一个ob的概念,ob的意思是在服务器端先存储有关输出,等待适当的时机再输出,而 不是像现在这样运行一句,输出一句,发现header语句就只能报错了。

具体的语句有: ob_start(); ob_end_clean();ob_flush();………

2、在header(&q

本文来*源gaodai^.ma#com搞#代!码网
搞gaodaima代码

uot;Location:")后要及时exit

否则他是会继续执行的,虽然在浏览器端你看不到相应的数据出现,但是如果你进行抓包分析的话,你就会看到下面的语句也是在执行的。而且被输送到了浏览器客户端,只不过是没有被浏览器执行为html而已(浏览器执行了header进行了转向操作)。

所以,标准的使用方法是:

ob_start();

……..

if ( something ){

ob_end_clean();

header("Location: yourlocation");

exit;

else{

……….

ob_flush(); //可省略

要想在header前有输出的话,可以修改php.ini文件

output_handler =mb_output_handler

或 output_handler =on

Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。

更多PHP header跳转详细分析相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP header跳转详细分析

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址