Czy wszystkie są przechowywane w $_SERVER
? Nawet niestandardowe?Jak mogę przekonać PHP do wyświetlania nagłówków otrzymanych z przeglądarki?
Odpowiedz
Każde pole nagłówka żądania HTTP znajduje się pod numerem $_SERVER
(z wyjątkiem Cookie
), a klucz rozpoczyna się od HTTP_
. Jeśli używasz Apache, możesz również spróbować apache_request_headers
.
Spróbuj
print_r
($ _SERVER)
To będzie notować wszystko, co w tablicy
Jeśli chcesz czegoś bardziej konkretnego użyć: ' Php print_r ($ _ SERVER [URL])?> – LeRoy
Spójrz na zmiennej $_SERVER aby zobaczyć, co on zawiera. Połączona strona podręcznika ma wiele użytecznych informacji, ale po prostu wykonaj na niej var_dump
, aby zobaczyć, co w niej jest. Wiele wpisów zostanie lub nie zostanie wypełnionych, w zależności od tego, co klient zdecyduje się zrobić, i dziwnych dziwactw PHP. Patrząc na ten na moim lokalnym serwerze, istnieje również wpis $ _SERVER ["ALL_HTTP"], który po prostu wymienia je wszystkie jako ciąg, ale najwyraźniej nie jest to standardowe, ponieważ nie jest wymienione na stronie podręcznika.
możesz użyć getallheaders()
, aby uzyskać tablicę wszystkich wysłanych nagłówków HTTP.
$headers = getallheaders();
foreach($headers as $key=>$val){
echo $key . ': ' . $val . '<br>';
}
można po prostu użyć apache_request_headers()
lub jego alias getallheaders()
.
Zastosowanie: echo json_encode(getallheaders());
Jeżeli powyższa funkcja nie istnieje (stary PHP lub nginx) można wykorzystać jako awaryjnej:
<?php
if (!function_exists('getallheaders')){
function getallheaders() {
$headers = '';
foreach ($_SERVER as $name => $value) {
if (substr($name, 0, 5) == 'HTTP_') {
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
return $headers;
}
}
?>
można wykorzystać apache_request_header(); może ci pomóc.
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "<pre>";
echo "$header : $value";
echo "</pre>";
}
- 1. Czy mogę przekonać konsolę do wyświetlania chińskiego?
- 2. Jak mogę przekonać Winstona do współpracy z Webpack?
- 3. Jak mogę przekonać TeamCity do sprawdzenia zewnętrznych SVN?
- 4. Jak mogę przekonać Perla do wykrywania złych sekwencji UTF-8?
- 5. Skrobanie danych, przeglądarki bez nagłówków i Python
- 6. Jak mogę wyświetlić listę wszystkich przydziałów otrzymanych przez użytkownika?
- 7. Żądanie PHP GET, wysyłanie nagłówków
- 8. sposób wyświetlania nagłówków w trybie nawigacji z TabNavigation
- 9. Czy istnieje apache_request_headers alternat dla wyświetlania nagłówków HTTP
- 10. Jak przekonać Doxygen do ignorowania relacji dziedziczenia?
- 11. Jak przekonać Sidekiq do pracy nad Heroku?
- 12. Nie mogę przekonać Jenkinsa Dockera do budowania obrazów w portach
- 13. Dodatek SDK do przeglądarki Firefox: Sposoby wyświetlania opcji dla użytkownika?
- 14. Nie mogę przekonać IntelliJ do rozpoznawania mojego zestawu SDK Android
- 15. Czy skrypt PHP może przekonać przeglądarkę do myślenia, że żądanie HTTP zostało zakończone?
- 16. Jak mogę wysłać status sukcesu do przeglądarki z nodejs/express?
- 17. Adres IP serwera wyświetlania PHP:
- 18. PHP: pobierz nazwę przeglądarki
- 19. Dodawanie upoważnienie do nagłówków
- 20. Czy mogę przekazać obiekt JavaScript do przeglądarki Android WebView?
- 21. Jak włączyć pasek szybkiego wyświetlania do wyświetlania wszystkich typów plików?
- 22. W jaki sposób mogę zatrzymać PHP od zwracania nagłówków po wykonaniu z linii poleceń?
- 23. Jak przekonać kompilator obiekt jest klonowalne (java)?
- 24. Przeglądarki Webkit nie pozwalają mi ustawić nagłówków preflightów CORS
- 25. Jak mogę przekonać program Powerpoint do wywoływania podprogramu VBA w animacji?
- 26. Jak echo do konsoli debugowania z php
- 27. Jak mogę przekonać program Visual Studio do wysyłania sygnałów dźwiękowych, jeśli kompilacja się powiedzie?
- 28. Jak przekonać Devel :: Trace do wydrukowania instrukcji BEGIN-block?
- 29. Jak mogę załadować plik PHP do zmiennej?
- 30. Eksportowanie z SSRS do Excela bez nagłówków
A co z informacjami o plikach cookie? Czy możemy użyć $ _COOKIE [] do ich pobierania? –
@dskanth Tak, '$ _COOKIE' zawiera już przetworzone pliki cookie wysyłane przez klienta. Ale nie będzie '$ _SERVER ['HTTP_COOKIE']'. – Gumbo
@Gumbo, Jak się to różni od 'getallheaders'? Czy są jakieś nagłówki, które są usuwane z tego ostatniego? – Pacerier