|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最近陆续的有人问我学习php的心得,现在整理为下面,希望可以对大家有些帮助。本篇文章对php言语中header函数的感化和用法做一个小结。
phpheader()函数的详细感化是向客户端发送一个原始HTTP标头[HttpHeader]到客户端。
标头(header)是服务器以HTTP协义传HTML材料到扫瞄器前所送出的字串,在标头与HTML文件之间尚需空一行分开。在任何实践的输入被发送之前挪用header()函数(在PHP4和更高的版本中,您可使用输入缓存来办理此成绩)。
上面举一些对照罕见的header用法示例:
(1)利用header完成重定向(等价于取代用户在地点栏输出url)。- <?phpheader("Location:http://www.Alixixi.com/mysql/407.html";);exit;//注重务必在每一个重定向以后都必需加上exit,制止产生毛病后,代码会持续向下实行?>
复制代码- <?php/**@title:PHP完成准时跳转@功效:守候指定的工夫,然后再跳转到指定页面(取代htmlmeta体例)*/header("refresh:3;url=http://www.Alixixi.com/javascript-function/605.html");echo正在加载,请稍等...<br>三秒后主动跳转;/*申明:若守候工夫为0,则与header("location:")等效。*/?>
复制代码 (2)克制页面在扫瞄器中被缓存。
假如因营业必要会见者每次都扫瞄页面都是失掉最新的材料,而不是Proxy或cache中的材料,可使用以下的标头:- <?phpheader(Expires:Mon,26Jul199705:00:00GMT);header(Last-Modified:.gmdate(D,dMYH:i:s).GMT);header(Cache-Control:no-store,no-cache,must-revalidate);header(Cache-Control:post-check=0,pre-check=0,false);header(Pragma:no-cache);//兼容http1.0和https?>
复制代码 实在这里次要就是设置上面几个选项的值:
CacheControl=no-cache
Pragma=no-cache
Expires=-1
当HTTP1.1服务器指定CacheControl=no-cache时,扫瞄器就不会缓存该网页。新式HTTP1.0服务器不克不及利用Cache-Control题目。以是为了向后兼容HTTP1.0服务器,IE利用Pragma:no-cache题目对HTTP供应特别撑持。
有关Cache-control的详细先容请参考本站文章:
网页缓存把持Cache-control罕见的取值有private、no-cache、max-age、must-revalidate先容
假如客户端经由过程平安毗连(https://)与服务器通信,且服务器在呼应中前往Pragma:no-cache题目,则InternetExplorer不会缓存此呼应。注重:Pragma:no-cache仅当在平安毗连中利用时才避免缓存,假如在非平安页中利用,处置体例与Expires:-1不异,该页将被缓存,但被标志为当即过时。
Expires是个好东东,假如服务器上的网页常常变更,就把它设置为-1,暗示当即过时。假如一个网页天天清晨1点更新,能够把Expires设置为第二天的清晨1点。
(3)让利用者的扫瞄器呈现找不到档案的信息。
网上良多材料如许写:php的函数header()能够向扫瞄器发送Status标头,如 header(”Status:404NotFound”)。可是我发明实践上扫瞄器前往的呼应倒是:
HTTP/1.x200OK
Date:Thu,03Aug200607:49:11GMT
Server:Apache/2.0.55(Win32)PHP/5.0.5
X-Powered-By:PHP/5.0.5
Status:404NotFound
Content-Length:0
Keep-Alive:timeout=15,max=98
Connection:Keep-Alive
Content-Type:text/html
查了一些材料,准确的写法是:
header(”http/1.1404NotFound”);
第一部分为HTTP协定的版本(HTTP-Version);第二部分为形态代码(Status);第三部分为缘故原由短语(Reason-Phrase)。
(4)让会见者下载档案(埋没文件的地位)。
我们都晓得经由过程原始的url就能够完成一般文件下载,可是假如我们必要保密文件在服务器上的存储地位,就不克不及间接把文件链接显现出来,这里我们就能够经由过程header函数埋没文件地点同时又完成文件的下载,详细代码以下:- <?phpheader("Content-type:application/x-gzip");header("Content-Disposition:attachment;filename=Alixixi.zip");header("Content-Description:PHP3GeneratedData");?>
复制代码 别的,关于利用php举行文件下载,能够参照本站文章:
PHP文件下载函数(代码)
上面枚举一些并非十分罕见的header的用法示例:- <?php//ok200header(HTTP/1.1200OK);//设置一个404头:header(HTTP/1.1404NotFound);//设置地点被永世的重定向header(HTTP/1.1301MovedPermanently);//文档言语header(Content-language:en);//告知扫瞄器最初一次修正工夫$time=time()-60;//orfilemtime($fn),etcheader(Last-Modified:.gmdate(D,dMYH:i:s,$time).GMT);//告知扫瞄器文档内容没有产生改动header(HTTP/1.1304NotModified);//设置内容长度header(Content-Length:1234);//设置内容范例:header(Content-Type:text/html;charset=iso-8859-1);header(Content-Type:text/html;charset=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);//音频文件header(Content-Type:application/x-shockwave-Flash);//Flash动画?>
复制代码 终于理解了数据库的概念,而且让你兴奋不已的是你终于可以通过PHP来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。 |
|