Die Header-Position in PHP

Subodh Poudel 30 Januar 2023
  1. Einführung in die Funktion Header() und ihre Syntax in PHP
  2. Verwendung von die Funktion header() mit dem Header-String location: in PHP
Die Header-Position in PHP

Dieser Artikel stellt das Konzept der Funktion header() und ihre Syntax in PHP vor. Es behandelt die Regeln zum Schreiben von Headern in PHP. Diese Methode funktioniert auch mit den Headern Content-Type und Content-Disposition.

Wir werden in diesem Artikel auch den Header-String location: vorstellen. Wir werden die Verwendung und das Wesen des Location-Headers in PHP erklären. Der Artikel zeigt, wie die Header-Position den Antwortcode sendet und den Browser auf eine andere Seite umleitet.

Einführung in die Funktion Header() und ihre Syntax in PHP

Die Funktion header() ist eine eingebaute PHP-Funktion, die es uns ermöglicht, einen rohen HTTP-Header an den Client zu senden. Der gesendete Header liegt im Rohformat vor. Wir sollten die Funktion header() aufrufen, bevor eine Ausgabe gesendet wird. Die Ausgabe in jeglicher Form, wie die von den HTML-Tags oder einem PHP-Formular gesendete Ausgabe, sollte vor dem Senden der Header-Informationen verworfen werden. So können wir die vom Server an den Browser gesendeten Informationen vor jeder Ausgabe kontrollieren.

Die Syntax der Funktion header() lautet: header(string,replace,http_response_code);. Die Funktion akzeptiert drei Parameter. Das erste Argument ist ein Header-String. Es gibt zwei Arten von Header-Strings. Der erste Typ ist ein String, der mit HTTP/ beginnt. Es gibt die HTTP-Codes an, die an den Browser gesendet werden sollen. Der zweite Typ des Header-Strings ist der Header location:, der den Browser an den angegebenen Ort umleitet. Der nächste Parameter in der Funktion ist replace, der einen booleschen Wert darstellt. Es ist ein optionaler Parameter, der bestimmt, ob der Header den vorherigen ähnlichen Header ersetzen soll. Der dritte Parameter http_response code ist ebenfalls ein optionaler Parameter, der den HTTP-Response-Code auf den angegebenen Wert zwingt.

Erstellen Sie beispielsweise eine Funktion header() und verwenden Sie den Header-String als Content-Type. Schreiben Sie den Wert des Content-Type als application/pdf. Erstellen Sie erneut eine weitere Funktion header(). Schreiben Sie diesmal den Header-String als Content-Disposition. Geben Sie den Wert des Strings als attachment an. Vergessen Sie nicht ein Semikolon danach. Schreiben Sie nach dem Semikolon ein weiteres Attribut filename und geben Sie den Dateinamen als download.pdf an.

Wenn wir das folgende Skript ausführen, wird ein Download-Dialogfeld angezeigt. Es fordert Sie auf, eine pdf-Datei namens download.pdf herunterzuladen. Der erste Header gibt an, dass die Datei das Format pdf haben soll, und der zweite Header gibt den Dateinamen der Datei an und zwingt den Browser, den Dialog zum Speichern der Datei anzuzeigen.

Beispielcode:

#php 7.x
<?php
header('Content-Type: application/pdf'); 
header('Content-Disposition: attachment; filename="downloaded.pdf"');
?>

Verwendung von die Funktion header() mit dem Header-String location: in PHP

Wir können die Funktion header() mit dem Header-String location: in PHP verwenden. Der Header-String leitet die Webseite an den angegebenen Ort um. Es wird im Allgemeinen in Webseiten verwendet, um den Benutzer nach dem Absenden der Eingabe auf eine bestimmte Seite umzuleiten. Wenn der Benutzer beispielsweise beim Anmelden die richtigen Anmeldeinformationen eingibt, können wir den Header-Speicherort verwenden, um ihn auf die Homepage umzuleiten. Wir können den booleschen Wert und den Antwortcode in der Funktion header() angeben. Diese Parameter sind jedoch optional. Der boolesche Standardwert ist true, was bedeutet, dass er den vorherigen ähnlichen Header ersetzt. Als dritten Parameter können wir auch den Antwortcode bereitstellen. Der Standardantwortcode ist 302. Zum Beispiel können wir ein Array in eine Datei schreiben und die aktuelle Seite auf eine andere Seite umleiten, die die Meldung anzeigt, dass die Datei geschrieben wurde. Wir können die Funktion file_put_contents() verwenden, um in die Datei zu schreiben.

Erstellen Sie beispielsweise ein Array auf der Variablen $day. Legen Sie die Schlüssel als weather und time und die entsprechenden Werte als Sunny und 13:30 pm an. Verwenden Sie dann file_input_contents() und geben Sie als ersten Parameter eine Datei file.txt an. Verwenden Sie als zweiten Parameter die Funktion print_r(). Geben Sie als Parameter der Funktion print_r() die Variable $day und den booleschen Wert true an. Werten Sie den gesamten Ausdruck mit der Bedingung if aus. Verwenden Sie innerhalb des Blocks if die Funktion header(). Geben Sie den Speicherort als message.php innerhalb der Funktion an. Verwenden Sie den Doppelpunkt :, um den Standort anzugeben. Beachten Sie, dass zwischen dem location und dem : Doppelpunkt keine Lücke sein darf. Erstellen Sie eine PHP-Datei message.php. Eine Meldung in der Datei anzeigen, die besagt, dass die Datei geschrieben wurde.

Im obigen Beispiel wird das Array in die Datei file.txt geschrieben. Die Bedingung if ergibt wahr und die Funktion header() leitet den Speicherort auf message.php um. Somit wird die Ausgabe angezeigt. Wir können die geänderte URL auch in der Adressleiste sehen. Wenn es unterhalb der bestehenden Header-Funktion eine weitere Header-Funktion gegeben hätte, würde die letztere die vorherige Header-Funktion ersetzen. Dies liegt daran, dass der Standardwert der Option replace in der Funktion header() wahr ist.

Codebeispiel:

#php 7.x
<?php
$day = array (
    'weather' => 'Sunny',
    'time' => '1:30 pm',
);
if(file_put_contents('file.txt', print_r($day, true))){
    header("location: message.php");
}
?>

Ausgabe:

The file has been written.
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn