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')); //设置内容长度
上家公司开发医院挂号系统,系统采用GBK编码。ajax发送的中文用户名让PHP保存为cookie出现乱码的解决方案。1.Javascript变量var user=document.getElementById('user').innerText; user=escape(u...
php多进程应用场景主要是非web端,fpm下是不支持多进程的,非类linux操作系统都不支持,请在cli模式使用.可以使用多进程做任务分发,批量计算,批量文件处理,批量爬虫,网络运维等等。下面看一份简单的入门demo//创建子进程 $pid=pcntl_fork(); //返回-1,创建失败,不...
php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。下面提供一个方法获取/* * 获取当前PHP文件名称 */ if (!function_exists('phpself...
今天帮朋友查询wordpress执行超级慢的原因,特此记录开启fpm的慢日志,记录执行超过30秒的脚本request_slowlog_timeout = 30 slowlog = var/log/slow.log查看日志[23-May-2019 17...
在项目下的composer配置文件修改(PaySdk是我这里一个支付sdk的目录,包含各种各样的支付sdk,这样写的意思让composer自动把PaySdk下的所有文件自动加载):"autoload": { &...