萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php中header函數後是否應該有exit

php中header函數後是否應該有exit

php header後是否需要書寫exit以終止程序,以前一直沒有太在意,今天遇到個bug,才發現這還是個問題,特意寫了段代碼測試了一下,代碼如下:


通常有一下三種:

 代碼如下 復制代碼

Location: xxxx:yyyy/zzzz

Content-Type: xxxx/yyyy

Status: nnn xxxxxx

常用實例

1.實現重定向(狀態碼302)

 代碼如下 復制代碼

<?php
header(”Location: http://www.111cn.net”);
exit;
?>

例子

 代碼如下 復制代碼 <?php
header("Location:http://www.111cn.net/");
//exit();
file_put_contents($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR."n.txt",'php程序員教程網',LOCK_EX);

果證明php文件運行過程中如果碰到有header("Location:某個頁面URL");這種語句,會直接跳轉到另一個頁面,但是這裡的跳轉並沒有影響當前php文件的繼續執行。也就是是說php header跳轉之後,當前頁面的腳本會繼續執行。如果需要終止腳本運行,需要加exit()或者die()。


但對於有些用法就不需要了

404代碼

 代碼如下 復制代碼

<?php
header('HTTP/1.1 404 Not Found');
header("status: 404 Not Found");
?>

301

<?
Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: www.111cn.net" );
?>

 

copyright © 萬盛學電腦網 all rights reserved