当前位置:首页 > PHP > 正文内容

php header属性,php header 详解,php header的作用

高老师9年前 (2017-11-19)PHP2163

header() 函数向客户端发送原始的 HTTP 报头。(官方解释)

通俗的讲header函数将参数中的字符串作为服务端的响应头来返回给客户端。什么是服务端的响应头?打开谷歌浏览器看看network中的请求response header信息即可。更多的参数百度response header即可

浏览器一般会根据response header属性值做出对应响应,例如:

header('Set-Cookie:ecax_2132_sid=bW8Al4; expires=Mon, 20-Nov-2017 05:31:57 GMT; Max-Age=86400; path=/');

以上的代码设置后response header会立即显示,浏览器看到Set-Cookie属性立即根据您的设置来写入cookies信息。完全可以代替php的Set-Cookie方法来设置cookies信息。

我们通常想要知道一个网站的PHP版本是多少,都会通过响应头来查看,例如我的响应头: x-powered-by:PHP/7.1.5

有些时候我们的需求要修改或者隐藏,并且不想修改web服务器配置,可以这么修改,例如:

header('x-powered-by:ASP.NET');
header('x-powered-by:PHP/9.5.25');

其他的常用方法可以参考response header自由设置,下面贴出网上整理的常用代码(不想手打直接复制了下面):

1. 跳转页面

header('Location:'.$url);  //Location和":"之间无空格。

复制代码

2. 声明content-type

header('content-type:text/html;charset=utf-8');

3. 返回response状态码

header('HTTP/1.1 404 Not Found');

4. 在某个时间后执行跳转

header('Refresh: 10; url=http://www.baidu.com/');  //10s后跳转。

5. 控制浏览器缓存

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");

header("Cache-Control: no-cache, must-revalidate");

header("Pragma: no-cache");

6. 执行http验证

header('HTTP/1.1 401 Unauthorized');

header('WWW-Authenticate: Basic realm="Top Secret"');

7. 执行下载操作

header('Content-Type: application/octet-stream'); //设置内容类型

header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件

header('Content-Transfer-Encoding: binary'); //设置传输方式

header('Content-Length: '.filesize('example.zip')); //设置内容长度

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/46.html

分享给朋友:

“ php header属性,php header 详解,php header的作用” 的相关文章

php多进程,php多进程处理任务,php多进程应用场景

php多进程,php多进程处理任务,php多进程应用场景

php多进程应用场景主要是非web端,fpm下是不支持多进程的,非类linux操作系统都不支持,请在cli模式使用.可以使用多进程做任务分发,批量计算,批量文件处理,批量爬虫,网络运维等等。下面看一份简单的入门demo//创建子进程 $pid=pcntl_fork(); //返回-1,创建失败,不...

php迭代器学习

php迭代器学习

php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...

php异步信号处理

php异步信号处理

php7.1引入了PHP异步信号处理函数pcntl_async_signals() 来处理阻塞问题。在php7之前信号处理方式有2种,第一种是基于ticks来每执行一行代码来触发执行信号监听,第二种是直接while(true){  //监听信号 }第一种方式如果某行的代码阻塞时间较长会影响...

php定义常量数组

php定义常量数组

<?php //php7+ define('CONFIG', [     'MYSQL' => '127.0.0.1',     ...

PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl.dll找不到指定的模块

PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl.dll找不到指定的模块

最近在编写windows php多线程的东西,从官网下载了PHP的线程安全版,尝试开启curl扩展extension=php_curl.dllphp -m 却提示 PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl...

tp orm事务提交未执行的教训和总结

tp orm事务提交未执行的教训和总结

最近在项目中处理一个关于商品数据重复需要删除多余的商品记录,但是删除一条商品必然要把关联的其他表商品的id和其他商品信息更换为正确的,删除一个商品记录,同时要去修改100多张表的关联商品数据,在项目中引用了tp orm 1.2版本,由于项目是php5.6版本,没法使用最新orm,在代码中每处理1个商...