Mit der Funktion header() von PHP können Sie Seitensprünge erzielen, z. B.
1 |
header( "Location: " . $url );
|
Aber es gibt einen Nachteil Sobald der HTTP-Header-Block gesendet wurde, können Sie die Funktion header() nicht mehr zum Senden anderer Header verwenden.
Derzeit können Sie nur Front-End-HTML- oder JS-Technologie verwenden, um Seitensprünge zu erzielen!
Woher wissen Sie, dass der HTTP-Header-Block gesendet wurde?
Die PHP-Funktion headers_sent() kann helfen.
PHP headers_sent()-Funktion
headers_sent()-Funktion prüft, ob und wohin HTTP-Header gesendet wurden.
Gibt true zurück, wenn der Header gesendet wurde, andernfalls false.
Syntax
headers_sent(file,line)
参数 |
描述 |
file,line |
可选。 如果设置 file 和 line 参数,headers_sent() 会把输出开始的 PHP 源文件名和行号存入 file 和 line 变量中。 |
Tipps und Hinweise
Hinweis: Sobald der Header-Block vorhanden ist gesendet wurde, können Sie die Funktion header() nicht zum Senden anderer Header verwenden. Durch die Verwendung dieser Funktion können zumindest Fehlermeldungen im Zusammenhang mit HTTP-Headern vermieden werden.
Hinweis: Die optionalen Datei- und Zeilenparameter sind neu in PHP 4.3.
Beispiel 1
4 | header( "Location: http://www.w3school.com.cn/" ); |
Beispiel 2
Verwenden Sie optional The Datei- und Zeilenparameter:
02 | // 传递 $file 和 $line,供日后使用 |
04 | if (!headers_sent( $file ,
$line )) { |
05 | header( "Location: http://www.w3school.com.cn/" ); |
07 | // Trigger an error here |
09 | echo "Headers sent in $file on line $line" ; |
Basierend auf den oben genannten Wissenspunkten können wir unsere eigene PHP-Sprungfunktion aussortieren :
03 |
* @param string $url 跳转地址
|
04 |
* @param int $time 跳转延时(单位:秒)
|
05 |
* @param string $msg 提示语
|
07 |
function redirect( $url ,
$time = 0, $msg = '' ) {
|
08 |
$url = str_replace ( array ( "n" ,
"r" ), '' ,
$url ); // 多行URL地址支持
|
10 |
$msg = "系统将在 {$time}秒 之后自动跳转到 {$url} !" ;
|
13 |
$str = "<meta http-equiv='Refresh' c/code><code>;
|
20 |
header( "Location: " . $url );
|
22 |
header( "Content-type: text/html; charset=utf-8" );
|
23 |
header( "refresh:{$time};url={$url}" );
|
Das Obige stellt die PHP-Umleitungs-Webseite vor, einschließlich der relevanten Inhalte. Ich hoffe, dass sie für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn