PHP Header常用指令讲解

PHP中header分为三部分:

第一部分:HTTP协议的版本(HTTP-Version);
第二部分:状态代码(Status);
第三部分:原因短语(Reason-Phrase)。

示例代码:

用header指令返回页面HTTP信息

1、请求页面正常返回
header(‘HTTP/1.1 200 OK‘);

2、页面没找到
header(‘HTTP/1.1 404 Not Found‘);

3、301永久转向
header(‘HTTP/1.1 301 Moved Permanently‘);
4、访问受限
header(‘HTTP/1.1 403 Forbidden‘);
5、服务器错误
header(‘HTTP/1.1 500 Internal Server Error‘);
6、重定向到一个新的地址
header(‘Location: http://www.abcd9.com/‘);

延迟一段时间后重定向
header(‘Refresh: 10; url=http://www.abcd9.com/‘); //延迟10秒

覆盖 X-Powered-By value
header(‘X-Powered-By: PHP/4.4.0‘);
header(‘X-Powered-By: Brain/0.6b‘);

内容语言 (en = English)
header(‘Content-language: en‘);

最后修改时间(在缓存的时候可以用到)
$time = time() – 60; // or filemtime($fn), etc
header(‘Last-Modified: ‘.gmdate(‘D, d M Y H:i:s‘, $time).‘ GMT‘);

告诉浏览器要获取的内容还没有更新
header(‘HTTP/1.1 304 Not Modified‘);

设置内容的长度 (缓存的时候可以用到)
header(‘Content-Length: 1234‘);

用来标识下载文件
header(‘Content-Type: application/octet-stream‘);
header(‘Content-Disposition: attachment; filename="abcd9.zip"‘);
header(‘Content-Transfer-Encoding: binary‘);

禁止缓存当前文档
header(‘Cache-Control: no-cache, no-store, max-age=0, must-revalidate‘);
header(‘Expires: Mon, 26 Jul 1997 05:00:00 GMT‘);

设置内容类型
header(‘Content-Type: text/html; charset=utf-8‘); //编码为utf-8
header(‘Content-Type: text/plain‘); //纯文本文件
header(‘Content-Type: image/jpeg‘); //JPG图片
header(‘Content-Type: application/zip‘); //ZIP压缩包文件
header(‘Content-Type: application/pdf‘); //PDF电子书文件
header(‘Content-Type: audio/mpeg‘); //MPEG (MP3,…)音频文件
header(‘Content-Type: application/x-shockwave-flash‘); //flash文件

显示登录对话框,可以用来进行HTTP认证
header(‘HTTP/1.1 401 Unauthorized‘);
header(‘WWW-Authenticate: Basic realm="Top Secret"‘);
print ‘Text that will be displayed if the user hits cancel or ‘;
print ‘enters wrong login data‘;

时间: 2024-10-24 17:18:25

PHP Header常用指令讲解的相关文章

Markdown语法 与 Hexo常用指令

Markdown语法 与 Hexo常用指令 Markdown Hexo Markdown是一种超轻量级的标记语言,常用的标记符号不超过十个,相对于更为复杂的HTML标记语言来讲,Markdown实在简便多了,因此学习成本也不是很大.更多关于Markdown的认识,我们可以参考:认识与入门 Markdown Markdown工具 关于支持Markdown的书写工具网络上有很多推荐,这里不再一一列举,常用的有: Mou:外文世界对 MarkDown 的热衷在 Mac 上可见一斑,目前虽是免费的,但功

MySQL常用指令,java,php程序员,数据库工程师必备。程序员小冰常用资料整理

MySQL常用指令,java,php程序员,数据库工程师必备.程序员小冰常用资料整理 MySQL常用指令(备查) 最常用的显示命令: 1.显示数据库列表. show databases; 2.显示库中的数据表: use mysql; show tables; 3.显示数据表的结构: describe 表名; 4.建库: create database 库名; 5.建表: use 库名: create table 表名 (字段设定列表): 6.删库和删表: drop database 库名; dr

计算机常用指令

常用指令记录 Python常用操作: #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 画图的字体问题 from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 # 显示所有行列 pd.set_option("displa

Vue专题-js常用指令

vue.js官方给自己的定为是数据模板引擎,并给出了一套渲染数据的指令.本文详细介绍了vue.js的常用指令. vue.js常用指令 Vue.js使用方式及文本插值 Vue.js 使用了基于 HTML 的模板语法,最简单的使用vue的方式是渲染数据,渲染数据最常见的形式就是使用"Mustache"语法 (双大括号) 的文本插值. 123456789101112131415161718192021222324252627282930 <!DOCTYPE html><ht

adb常用指令与APPium环境搭建

jdk与sdk环境搭建 常用adb指令讲解 Appium环境搭建 Appium介绍: 移动端开源自动化测试框架 开源:完全免费 跨平台:完全满足IOS和Android两个不同系统提供的自动化测试 Appium是基于Selenium来实现 Appium是基于JDK+SDK环境来承载 Appium Server:已经淘汰,停止更新 Appium Desktop:持续更新的软件 Appium环境搭建: 1.安装JDK1.8,JDK的环境搭建 系统变量中添加: 变量名:JAVA_HOME 变量值:jav

JSP 的内置对象及方法,动作和作用,常用指令

JSP 的内置对象及方法:JSP 共有以下9 种基本内置组件:request:用户端请求,此请求会包含来自GET/POST 请求的参数:response:网页传回用户端的回应:pageContext:网页的属性是在这里管理:session:与请求有关的会话期,可以存贮用户的状态信息:application:servlet 正在执行的内容:out:用来传送回应的输出:config:servlet 的构架部件,用于存取servlet 实例的初始化参数:page:JSP 网页本身:exception:

Angular JS从入门基础 mvc三层架构 常用指令

Angular JS从入门基础  mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVC.模块化.自动化双向数据绑定.语义化标签.依赖注入等等. 1.常用指令 AngularJS 通过指令扩展了HTML,且通过表达式绑定数据到 HTML.下面我们看一下AngularJS中的常用指令. (1).基本概念 指令:AngularJS中,通过扩展HTML的属性提供功能.所以,ng-

Angular 2 模板语法与常用指令简介

一.模板语法简介 插值表达式 <div>Hello {{name}}</div> 等价于 <div [textContent]="interpolate(['Hello'], [name])"></div> 模板表达式 1.属性绑定 1.1输入属性的值为常量 <show-title title="Some Title"></show-title> 等价于 <show-title [titl

【Mysql】常用指令之——忘记密码

上一篇文章基本总结了下myql下通过指令怎么创建用户,详见:[Mysql]常用指令之--用户操作(创建,授权,修改,删除) 今天说下特殊情况,忘记密码了怎么办??? 重装,删除配置等可以完成此操作.那不重装怎么办呢? 原理: 通过增加启动参数:--skip-grant-tables 跳过grant-tables启动数据库,这样就不需要密码就能进去了. 下面来玩玩: linux下: 1.关闭mysql进程,应该都会哈比如:service mysql stop 或者 ps -ef | grep my