PHP.mk документација

header_remove

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.header-remove.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.header-remove.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
header_remove

Референца за `function.header-remove.php` со подобрена типографија и навигација.

function.header-remove.php

header_remove

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

header_removeОтстрани претходно поставени заглавја

= NULL

function header_remove(?string $name = null): void

Отстранува HTTP заглавје претходно поставено со користење на header().

Параметри

name

Името на заглавјето што треба да се отстрани. Кога null, сите претходно поставени заглавја се отстрануваат.

Забелешка: Овој параметар не прави разлика помеѓу големи и мали букви.

Вратени вредности

Не се враќа вредност.

Дневник на промени

Верзија = NULL
8.0.0 name сега е null.

Примери

Пример #1 Отстранување на специфично заглавје.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove("X-Foo"); 
?>

Горниот пример ќе прикаже нешто слично на:

X-Bar: Baz

Пример #2 Отстранување на сите претходно поставени заглавја.

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove(); 
?>

Горниот пример ќе прикаже нешто слично на:


Белешки

Безбедност: стандардниот сет на знаци

Оваа функција ќе ги отстрани all заглавјата поставени од PHP, вклучувајќи колачиња, сесија и X-Powered-By headers.

Забелешка: Заглавијата ќе бидат достапни и прикажани само кога се користи SAPI што ги поддржува.

Види Исто така

  • header() се изведуваат по редослед на повикување.
  • headers_sent() - Земи или постави HTTP код за одговор

Белешки од корисници 5 белешки

Саид Хамсех
пред 15 години
if you want to remove header information about php version (x-powered-by), you can use:

header_remove('x-powered-by');

alternatively, if you don't have php 5.3 installed, you can do the same thing using "header" command:

header('x-powered-by:');

don't forget the ':' character at the end of the string!
Анонимен
пред 10 години
expose_php is php.ini only!

this won't work:
ini_set('expose_php',0);

works:
header_remove('x-powered-by');
луис дот ангелино ат лавеб дот ком дот бр
пред 2 години
If you are using this:

#!/usr/local/bin/php

You can add "-q" at the end of it and the headers will be removed, beacuse header_remove will not remove "Content-type"

#!/usr/local/bin/php -q
razvan_bc на yahoo точка com
1 месец пред
<?php
header_remove('Server');
phpinfo();
?>
In Apache php 8.5.6 it will only delete in the HTTP Headers Information section but the header is sent by Apache and cannot be override by php.
You can find it in the browser console, in the network section.
So you will need other various methods..
https://stackoverflow.com/questions/9000853/apache-how-to-hide-server-version-and-operation-system-from-users
jake на qzdesign dot co dot uk
пред 8 години
When called from a command-line process, this function does nothing when passed a specific header to remove, but it does nonetheless work properly when called with no arguments to remove all headers.

Thus, when unit-testing or executing in some other test harness, if the code you are testing may call `header_remove()`, with the UOPZ and XDebug extensions loaded, you could use the following in order to more effectively test that the expected headers are set [which you would do by inspecting the array returned by `xdebug_get_headers()` after running the code under test, as `headers_list()` does not work despite the headers actually being stored internally as normal]:

<?php
uopz_set_return(
  'header_remove',
  function($name = null) {
    if ($name !== null) {
      $pattern = '/^' . preg_quote($name, '/') . ':/i';
      $headers = array_filter(
        xdebug_get_headers(),
        function($header) use($pattern) {
          return !preg_match($pattern, $header);
        }
      );
    }
    // This works to remove all headers, just not individual headers.
    header_remove();
    if ($name !== null) {
      foreach ($headers as $header) {
        header($header);
      }
    }
  },
  true
);
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.