Heim  >  Artikel  >  Backend-Entwicklung  >  Was macht die PHP-Header-Funktion? Einführung in die PHP-Header-Funktion (mit Code)

Was macht die PHP-Header-Funktion? Einführung in die PHP-Header-Funktion (mit Code)

不言
不言Original
2018-07-23 16:01:591599Durchsuche

Was ist die Funktion der PHP-Header-Funktion? In PHP kann die Header-Funktion als zwei spezielle Header zum Senden von Statuscodes verwendet werden. Sie kann den vorherigen Header desselben Typs ersetzen oder die Angabe des Werts der HTTP-Antwort erzwingen den konkreten Inhalt.

Schauen Sie sich zunächst die Definition im offiziellen Dokument an

(PHP 4, PHP 5, PHP 7)

Header – Nativen HTTP-Header senden

1 void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

Parameter:

Zeichenfolge

Es gibt zwei besondere Köpfe. Der erste, der mit „HTTP/“ beginnt (Groß- und Kleinschreibung spielt keine Rolle), wird zur Berechnung des zu sendenden HTTP-Statuscodes verwendet. Wenn Sie beispielsweise ein PHP-Skript auf dem Apache-Server verwenden, um Anfragen nach nicht vorhandenen Dateien zu verarbeiten (mithilfe der Direktive ErrorDocument), hoffen Sie, dass das Skript mit dem richtigen Statuscode antwortet.

1 <?php
2 header("HTTP/1.0 404 Not Found");
3 ?>

Der zweite Sonderfall sind die Header-Informationen „Location:“. Es sendet nicht nur die Nachricht an den Browser, sondern gibt auch einen REDIRECT (302)-Statuscode an den Browser zurück, es sei denn, der Statuscode wurde auf 201 oder 3xx gesetzt .

1 <?php
2 header("Location: http://www.example.com/"); /* Redirect browser */
3 
4 /* Make sure that code below does not get executed when we redirect. */
5 exit;
6 ?>

 ersetzen

  • Der optionale Parameter replace gibt an, ob der vorherige durch den folgenden ersetzt werden soll Kopfzeile. Geben Sie Kopfzeile ein. Standardmäßig ersetzt. Wenn Sie FALSE übergeben, können Sie die Koexistenz derselben Header-Informationen erzwingen. Beispiel:

1 <?php
2 header(&#39;WWW-Authenticate: Negotiate&#39;);
3 header(&#39;WWW-Authenticate: NTLM&#39;, false);
4 ?>

http_response_code

Erzwingt den Wert der HTTP-Antwort. Beachten Sie, dass dieser Parameter nur gültig ist, wenn die Nachrichtenzeichenfolge (string) nicht leer ist.

Die allgemeine Verwendung der Header-Funktion ist wie folgt:

1. Umleitung

       header('Location: http://www.example.com/');

2. Angegebener Inhalt:

header('Content-type: application/pdf');

3. Anhang:

: application/pdf');

// Geben Sie den Inhalt als Anhang an und geben Sie den Namen für die Download-Anzeige an

header('Content -Disposition: attachment; filename ="downloaded.pdf"');

   //Öffnen Sie die Datei und geben Sie

 readfile('original .pdf');

Der obige Code kann den Effekt eines Dateidialogfelds im Browser erzeugen

4. Ermöglichen Sie Benutzern stattdessen den Erhalt der neuesten Informationen und Daten of caching

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

header("Expires: Sa, 26 Jul 1997 05 :00:00 GMT"); // Kritische Zeit festlegen

Detailliertes Beispiel:

 <?php
header(&#39;HTTP/1.1 200 OK&#39;); // ok 正常访问
header(&#39;HTTP/1.1 404 Not Found&#39;); //通知浏览器 页面不存在
header(&#39;HTTP/1.1 301 Moved Permanently&#39;); //设置地址被永久的重定向 301
header(&#39;Location: http://www.ithhc.cn/&#39;); //跳转到一个新的地址
header(&#39;Refresh: 10; url=http://www.ithhc.cn/&#39;); //延迟转向 也就是隔几秒跳转
header(&#39;X-Powered-By: PHP/6.0.0&#39;); //修改 X-Powered-By信息
header(&#39;Content-language: en&#39;); //文档语言
header(&#39;Content-Length: 1234&#39;); //设置内容长度
header(&#39;Last-Modified: &#39;.gmdate(&#39;D, d M Y H:i:s&#39;, $time).&#39; GMT&#39;); //告诉浏览器最后一次修改时间
header(&#39;HTTP/1.1 304 Not Modified&#39;); //告诉浏览器文档内容没有发生改变
 
###内容类型###
header(&#39;Content-Type: text/html; charset=utf-8&#39;); //网页编码
header(&#39;Content-Type: text/plain&#39;); //纯文本格式
header(&#39;Content-Type: image/jpeg&#39;); //JPG、JPEG 
header(&#39;Content-Type: application/zip&#39;); // ZIP文件
header(&#39;Content-Type: application/pdf&#39;); // PDF文件
header(&#39;Content-Type: audio/mpeg&#39;); // 音频文件 
header(&#39;Content-type: text/css&#39;); //css文件
header(&#39;Content-type: text/javascript&#39;); //js文件
header(&#39;Content-type: application/json&#39;); //json
header(&#39;Content-type: application/pdf&#39;); //pdf
header(&#39;Content-type: text/xml&#39;); //xml
header(&#39;Content-Type: application/x-shockw**e-flash&#39;); //Flash动画
 
######
 
###声明一个下载的文件###
header(&#39;Content-Type: application/octet-stream&#39;);
header(&#39;Content-Disposition: attachment; filename="ITblog.zip"&#39;);
header(&#39;Content-Transfer-Encoding: binary&#39;);
readfile(&#39;test.zip&#39;);
######
 
###对当前文档禁用缓存###
header(&#39;Cache-Control: no-cache, no-store, max-age=0, must-revalidate&#39;);
header(&#39;Expires: Mon, 26 Jul 1997 05:00:00 GMT&#39;);
######
 
###显示一个需要验证的登陆对话框### 
header(&#39;HTTP/1.1 401 Unauthorized&#39;); 
header(&#39;WWW-Authenticate: Basic realm="Top Secret"&#39;); 
######
 
 
###声明一个需要下载的xls文件###
header(&#39;Content-Disposition: attachment; filename=ithhc.xlsx&#39;);
header(&#39;Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&#39;);
header(&#39;Content-Length: &#39;.filesize(&#39;./test.xls&#39;)); 
header(&#39;Content-Transfer-Encoding: binary&#39;); 
header(&#39;Cache-Control: must-revalidate&#39;); 
header(&#39;Pragma: public&#39;); 
readfile(&#39;./test.xls&#39;); 
######
?>
Verwandte Empfehlungen:

Detaillierte Erläuterung der PHP-Header-Funktion


Verwendung der PHP-Header()-Funktion

Das obige ist der detaillierte Inhalt vonWas macht die PHP-Header-Funktion? Einführung in die PHP-Header-Funktion (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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