2017-04-11 2 views
0

PHP-Funktion \http_parse_headers() analysiert HTTP-Header in einem assoziativen Array.gibt es Umkehrfunktion für http_parse_headers()?

Aber gibt es eine umgekehrte Funktion? Was analysiert assoziatives Array in HTTP-Headern?

kann nichts finden :(

(es ist für saveing ​​E-Mail in Text .eml Datei)

+3

Nein, gibt es nicht. Aber es ist so trivial, einen selbst zu erschaffen, meinst du nicht? – Mjh

Antwort

1

Es ist keine Funktion, die in Text-Darstellung von Headern assoziatives Array dreht Der Grund:. Diese Funktion ist extrem trivial zu schaffen.

headers definiert werden als key: value delimiter \r\n ist. Es ist ein weiteres \r\n Trennzeichen zwischen Kopf- und Körper.

sich ein Beispiel Array nehmen:

$headers = [ 
    'Content-Length': 50, 
    'Content-Encoding': 'gzip' 
]; 

Das Ziel: eine Zeichenfolge liefern, die

function parse_array_to_headers(array $headers) 
{ 
    $result = []; 
    $delimiter = "\r\n"; 

    foreach($headers as $name => $value) 
    { 
     $result[] = sprintf("%s: %s", $name, $value); 
    } 

    return implode($delimiter, $result); 
} 

Hinweis HTTP-Header dar: Um diese Funktion wird nicht Überprüfung der Gültigkeit von Array und es wird nicht gebe die Zeichenfolge mit zwei Wiederholungen von \r\n am Ende zurück. Dieses Beispiel zeigt, wie einfach es sein kann, fehlende Funktionen hinzuzufügen. Passen Sie nach Ihren Bedürfnissen. Außerdem habe ich das nicht getestet, also kopiere es nicht! :)