2017-03-01 5 views
2

erhalten, wenn ich wie drucken:wie alle Header Informationen in Laravel 5.4

echo '<pre>'; 
print_r(getallheaders()); 

es Ausgabe

[Host] => abc.com 
    [User-Agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:51.0) Gecko/20100101 Firefox/51.0 
    [Accept] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
    [Accept-Language] => en-US,en;q=0.5 
    [Accept-Encoding] => gzip, deflate 
    [Cookie] => someth 
    [Upgrade-Insecure-Requests] => 1 
    [Cache-Control] => max-age=0 
    [SM_TRANSACTIONID] => 000000000000000000000000b7857360-1499-58b735e6-68944700-eed22930b94f 
    [SM_SDOMAIN] => abc.com 
    [SM_REALM] => REALM-BEACONTRACK-DEV-Protect root 
    [SM_REALMOID] => 06-000cd148-15d2-18a7-a771-71810afc4027 
    [SM_AUTHTYPE] => Form 
    ....... many more 

[Accept] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 
    [Referer] => http://127.0.0.1:8000 
    [Accept-Encoding] => gzip, deflate, sdch, br 
    [Accept-Language] => en-US,en;q=0.8 
    [Cookie] => XSRF-TOKEN=eyJpdiI6Im1UZ012bXhRQ1VVdEUra1d3Yko4ZEE9PSIsInZhbHVlIjoidnFqN0l6VUVBVjdKd2hWUitHazhlTWN1Z2puSW1LMlZTTU4yYW1GcVwvQWg1aEpkNklZWUkranBIZ3R1UGoxUUdMU1VFWVEzekViWTluSkk1c0FjNlZ3PT0iLCJtYWMiOiIxNGFmMGE1OWQ3OWNlZWY1Y2E4OGQ4MzY1MDg3ZmM2MDY5NzVmYTI2YmE3MzA3YWU2M2U2YjkyOWEzZTMzYWFkIn0%3D; beaconTrack_session=eyJpdiI6ImVWazMyK2JLbXlrN0lxMEVEdE1pTlE9PSIsInZhbHVlIjoiSTdIbVkyWmROSDZBXC8xVmZJdHEycmgwOFpFUm1BNUtWVFNyQjF0MjY5TTV6Qkd1aUFGSEJBcmRrQ3hvM1BxVXdld0tjWlwvcVNEeXcwQmdjWW5yUFwvb1E9PSIsIm1hYyI6IjgzZjRiOGExODc2NmI3Y2JjNDY1MWViMThlZmE0ODlhYjMyYzllMTE1OTNhNjM1NWE1ZDc0NWViZDFkMjA3ZTIifQ%3D%3D 
) 

gibt, aber wenn ich mit Druck Laravel Funktionen wie:

print_r($request->header()); oder print_r($request->headers->all());

es nie meine erforderlichen Variablen im Array ausdrucken. drucken Sie es outs unter Ausgabe

Array 
(
    [host] => Array 
     (
      [0] => abc.com 
     ) 

    [connection] => Array 
     (
      [0] => keep-alive 
     ) 

    [cache-control] => Array 
     (
      [0] => max-age=0 
     ) 

    [upgrade-insecure-requests] => Array 
     (
      [0] => 1 
     ) 

    [user-agent] => Array 
     (
      [0] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 
     ) 

    [accept] => Array 
     (
      [0] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 
     ) 

    [accept-encoding] => Array 
     (
      [0] => gzip, deflate, sdch 
     ) 

    [accept-language] => Array 
     (
      [0] => en-US,en;q=0.8 
     ) 

    [cookie] => Array 
     (
      [0] => cookie 
     ) 

) 

, wie ich die gleiche alle Werte in Laravel Funktion drucken kann ich mit diesem getallheaders() tun kann?

+1

nur weil Ihre Verwendung Laravel nicht bedeutet, dass Sie 'getallheaders() nicht verwenden können – nogad

+0

funktioniert nur auf Apache – AndrewMcLagan

+0

Ja, oder die Funktion, von der es ein Alias ​​ist, apache_request_headers(). Anfangs dachte ich, Laravel würde einige der Header verstecken, aber anscheinend nicht; Ich habe die Listen Seite an Seite verglichen, und alles ist berücksichtigt. –

Antwort

0

Laravel verwendet Symphony, die alle Header-Werte in Subarrays hält, so können wir nur das Array abzubilden und aussteigen:

$get_first = function($x){ 
    return $x[0]; 
}; 
// Same as getallheaders(), just with lowercase keys 
print_r(array_map($get_first, $request->headers->all())); 

Hinweis: Alle Tasten sind Klein

+0

Ja, das macht es einfach schwieriger zu arbeiten. –