Variáveis predefinidas

Variáveis do servidor : $_SERVER

Nota : Introduzida na versão 4.1.0 . Em versões anteriores , use $HTTP_SERVER_VARS .

$_SERVER é um array contendo informações como headers , caminhos e localizações do script . Os itens deste array são criados pelo servidor web . Não garantias que todos os servidores web geram todas elas : alguns servidores talvez omitam algumas ou geram outras que não estão listadas aqui . Mesmo assim , um grande número dessas variáveis estão de acordo com a especificação CGI 1.1 , então você pode esperar encontrá-las nesse array .

Esta é uma variável ' superglobal ' , ou automaticamente global . Isto significa que ela é disponível em todos os escopos ( níveis ) de um script . Você não precisa fazer um global $_SERVER ; para pode acessá-la dentro de funções ou métodos , como era necessário com $HTTP_SERVER_VARS .

$HTTP_SERVER_VARS contém a mesmas informações , mas ela não é uma superglobal .( Note que $HTTP_SERVER_VARS e $_SERVER são variáveis diferentes como também o PHP as manipula diferentemente )

Se a diretiva register_globals está ativa , então essas variáveis tornam-se disponíveis no escopo global do script ( por exemplo , separados dos arrays $_SERVER e $HTTP_SERVER_VARS . Para maiores informações , veja o capítulo de segurança entitulado Utilizando registradores globais . Estas variáveis globais individuais não são superglobais .

Você poderá ou não encontrar qualquer um dos seguintes elementos dentro de $_SERVER . Note que poucos ( ou nenhum ) deles estão disponíveis (ou não terão qualquer sentido ) se você estiver rodando o PHP na linha de comando .

' PHP_SELF '

O nome do arquivo do script atualmente em uso , relativo ao document root . Por exemplo , $_SERVER[ 'PHP_SELF' ] em um script com o endereço http : / /example.com / test.php / foo.bar pode ser / test.php / foo.bar .

Se estiver rodando o PHP em linha de comando , esta variável não está disponível .

' argv '

Array de argumentos passado para o script . Quando o script é executado na linha de comando , isto permite um acesso aos parâmetros de linha de comando no estilo do C . Quando chamado via método GET , ele conterá a query string .

' argc '

Contém o número de parâmetros da linha de comando passados para o script ( se executando da linha de comando ) .

' GATEWAY_INTERFACE '

O número de revisão da especificação CGI que o servidor está utilizando , por exemplo : ' CGI / 1.1 ' .

' SERVER_NAME '

O nome host do servidor onde o script atual é executado . Se o script está rodando em um host virtual , este será o valor definido para aquele host virtual .

' SERVER_SOFTWARE '

A string de identificação do servidor , fornecida nos headers quando respondendo a requests .

' SERVER_PROTOCOL '

Nome e número de revisão do protocolo de informação pelo qual a página foi requerida , por exemplo ' HTTP / 1.0 ' ;

' REQUEST_METHOD '

Contém o método de request utilizando para acessar a página . Geralmente ' GET ' , ' HEAD ' , ' POST ' ou ' PUT ' .

' QUERY_STRING '

A query string ( string de solicitação ) , se houver , pela qual a página foi acessada .

' DOCUMENT_ROOT '

O diretório raiz sob onde o script atual é executado , como definido no arquivos de configuração do servidor .

' HTTP_ACCEPT '

O conteúdo do header Accept : da requisição atual , se houver .

' HTTP_ACCEPT_CHARSET '

O conteúdo do header Accept-Charset : da requisição atual , se houver . Exemplo : ' iso-8859-1,*,utf-8 ' .

' HTTP_ACCEPT_ENCODING '

O conteúdo do header Accept-Encoding : da requisição atual , se houver . Exemplo : ' gzip ' .

' HTTP_ACCEPT_LANGUAGE '

O conteúdo do header Accept-Language : da requisição atual , se houver . Exemplo ' en ' .

' HTTP_CONNECTION '

O conteúdo do header Connection : da requisição atual , se houver . Exemplo : ' Keep-Alive ' .

' HTTP_HOST '

O conteúdo do header Host : da requisição atual , se houver .

' HTTP_REFERER '

O endereço da página ( se houver ) através da qual o agente do usuário acessou a página atual . Essa diretiva é informada pelo agente do usuário . Nem todos os browsers geram esse header , e alguns ainda possuem a habilidade de modificar o conteúdo do HTTP_REFERER como recurso . Em poucas palavras , não é confiável .

' HTTP_USER_AGENT '

O conteúdo do header User_Agent : da requisição atual , se houver . É uma string denotando o agente de usuário pelo qual a página é acessada . Um exemplo típico é : Além de outras coisas , você pode utilizar este valor com get_browser( ) para personalizar a geração de suas páginas para as capacidades do agente do usuário .

' REMOTE_ADDR '

O endereço IP de onde o usuário está visualizado a página atual .

' REMOTE_PORT '

A porta TCP na máquina do usuário utilizada para comunicação com o servidor web .

' SCRIPT_FILENAME '

O caminho absoluto o script atualmente em execução .

' SERVER_ADMIN '

O valor fornecido pela diretiva SERVER_ADMIN ( do Apache ) no arquivo de configuração do servidor . Se o script está sendo executado em um host virtual , este será os valores definidos para aquele host virtual .

' SERVER_PORT '

A porta na máquina servidora utilizada pelo servidor web para comunicação . Como default , este valor é ' 80 ' . Utilizando SSL , entretanto , mudará esse valor para a porta de comunicação segura HTTP .

' SERVER_SIGNATURE '

String contendo a versão do servidor e nome do host virtual que é adicionado às páginas geradas no servidor , se ativo .

' PATH_TRANSLATED '

O caminho real do script relativo ao sistema de arquivos ( não o document root) , depois realizou todos os mapeamentos de caminhos (virtual-to-real ) .

' SCRIPT_NAME '

Contém o caminho completo do script atual . Útil para páginas que precisam apontar para elas mesmas ( dinamicamente ) .

' REQUEST_URI '

O URI fornecido para acessar a página atual , por exemplo , ' / index.html ' .

' PHP_AUTH_USER '

Quando executando sob o Apache como módulo e fazendo autenticaçào HTTP , esta variável estará definida com o username fornecido pelo usuário .

' PHP_AUTH_PW '

Quando executando sob o Apache como módulo e fazendo autenticaçào HTTP , esta variável estará definida com a senha fornecida pelo usuário .

' PHP_AUTH_TYPE '

Quando executando sob o Apache como módulo e fazendo autenticaçào HTTP , esta variável estará definida com o tipo de autenticação utilizado .



Variáveis de ambiente : $_ENV

Nota : Introduzida na versão 4.1.0 . Em versões anteriores , utilize $HTTP_ENV_VARS .

Estas variáveis são importadas dentro no espaço global do PHP do ambiente sob qual o interpretador do PHP está rodando . Muitos são são criados no shell ( terminal ) sob o qual o PHP é executado e sistemas diferentes normalmente utilizam vários sabores de shells , e uma lista definitiva é impossível . Verifique a documentação de sua shell para a lista de variáveis ambiente definidas .

Outras variáveis ambiente incluem as variáveis CGI , informadas aqui independente do PHP estar rodando como um módulo do servidor ou como processador CGI .

Esta é uma variável ' superglobal ' , ou automaticamente global . Isto significa que ela é disponível em todos os escopos ( níveis ) de um script . Você não precisa fazer um global $_ENV ; para pode acessá-la dentro de funções ou métodos , como era necessário com $HTTP_ENV_VARS .

$HTTP_ENV_VARS contém a mesma informação , mas não é uma superglobal . ( Note que HTTP_ENV_VARS e $_ENV são variáveis diferentes como também o PHP as manipula diferentemente )

Se a diretiva register_globals está ativa , então essas variáveis tornam-se disponíveis no escopo global do script ( por exemplo , separados dos arrays $_ENV e $HTTP_ENV_VARS . Para maiores informações , veja o capítulo de segurança entitulado Utilizando registradores globais . Estas variáveis globais individuais não são superglobais .

Cookies HTTP : $_COOKIE

Nota : Introduzida na versão 4.1.0 . Em versões anteriores , utilize $HTTP_COOKIE_VARS .

Contém um array associativo de variáveis passas para o script atual através de cookies HTTP .

Esta é uma variável ' superglobal ' , ou automaticamente global . Isto significa que ela é disponível em todos os escopos ( níveis ) de um script . Você não precisa fazer um global $_COOKIE ; para pode acessá-la dentro de funções ou métodos , como era necessário com $HTTP_COOKIE_VARS .

$HTTP_COOKIE_VARS contém as mesmas informações , mas não é uma superglobal . ( Note que HTTP_COOKIE_VARS e $_COOKIE são variáveis diferentes como também o PHP as manipula diferentemente )

Se a diretiva register_globals está ativa , então essas variáveis tornam-se disponíveis no escopo global do script ( por exemplo , separados dos arrays $_COOKIE e $HTTP_COOKIE_VARS . Para maiores informações , veja o capítulo de segurança entitulado Utilizando registradores globais . Estas variáveis globais individuais não são superglobais .

Variáveis HTTP GET : $_GET

Nota : Introduzida na versão 4.1.0 . Em versões anteriores , use $HTTP_GET_VARS .

Contém um array associativo de variáveis passadas para o script atual através do método HTTP GET .

Esta é uma variável ' superglobal ' , ou automaticamente global . Isto significa que ela é disponível em todos os escopos ( níveis ) de um script . Você não precisa fazer um global $_GET ; para pode acessá-la dentro de funções ou métodos , como era necessário com $HTTP_GET_VARS .

$HTTP_GET_VARS contém as mesmas informações , mas não é uma superglobal . ( Note que HTTP_GET_VARS e $_GET são variáveis diferentes como também o PHP as manipula diferentemente )

Se a diretiva register_globals está ativa , então essas variáveis tornam-se disponíveis no escopo global do script ( por exemplo , separados dos arrays $_GET e $HTTP_GET_VARS . Para maiores informações , veja o capítulo de segurança entitulado Utilizando registradores globais . Estas variáveis globais individuais não são superglobais .

Variaveis HTTP POST : $_POST

Nota : Introduzida na versão 4.1.0 . Em versões anteriores , use $HTTP_POST_VARS .

Contém um array associativo de variáveis passadas para o script atual através do método HTTP POST .

Esta é uma variável ' superglobal ' , ou automaticamente global . Isto siginifica que ela é disponível em todos os escopos ( níveis ) de um script . Você não precisa fazer um global $_POST ; para pode acessá-la dentro de funções ou métodos , como era necessário com $HTTP_POST_VARS .

$HTTP_POST_VARS contém as mesmas informações , mas não é uma superglobal . ( Note que HTTP_POST_VARS e $_POST são variáveis diferentes como também o PHP as manipula diferentemente )

Se a diretiva register_globals está ativa , então essas variáveis tornam-se disponíveis no escopo global do script ( por exemplo , separados dos arrays $_POST e $HTTP_POST_VARS . Para maiores informações , veja o capítulo de segurança entitulado Utilizando registradores globais . Estas variáveis globais individuais não são superglobais .

Variáveis de upload de arquivos HTTP : $_FILES

Nota : Introduzida na versão 4.1.0 . Em versões anteriores , use $HTTP_POST_FILES .

Contém um array associativo dos itens carregador no script atual através do método HTTP POST .

Esta é uma variável ' superglobal ' , ou automaticamente global . Isto significa que ela é disponível em todos os escopos ( níveis ) de um script . Você não precisa fazer um global $_FILES ; para pode acessá-la dentro de funções ou métodos , como era necessário com $HTTP_FILES_VARS .

$HTTP_POST_FILES contém as mesmas informações , mas não é uma superglobal .

Se a diretiva register_globals está ativa , então essas variáveis tornam-se disponíveis no escopo global do script ( por exemplo , separados dos arrays $_FILES e $HTTP_POST_FILES . Para maiores informações , veja o capítulo de segurança entitulado Utilizando registradores globais . Estas variáveis globais individuais não são superglobais .

Variáveis da requisição : $_REQUEST

Nota : Introduzida na versão 4.1.0 . Não array equivalente em versões anteriores .

Contém um array associativo com os conteúdos de $_GET , $_POST , $_COOKIE e $_FILES .

Esta é uma variável ' superglobal ' , ou automaticamente global . Isto significa que ela é disponível em todos os escopos ( níveis ) de um script . Você não precisa fazer um global $_REQUEST ; para pode acessá-la dentro de funções ou métodos .

Se a diretiva register_globals está ativa , então essas variáveis tornam-se disponíveis no escopo global do script ( por exemplo , separados dos arrays $_REQUEST . Para maiores informações , veja o capítulo de segurança entitulado Utilizando registradores globais . Estas variáveis globais individuais não são superglobais .

Variáveis de sessão : $_SESSION

Nota : Introduzida na versão 4.1.0 . Em versões anteriores , use $HTTP_SESSION_VARS .

Contém um array associativo das variáveis de sessão disponíveis para o script atual . Veja a documentação das funções de Sessões para maiores informações de como utilizá-las .

Esta é uma variável ' superglobal ' , ou automaticamente global . Isto siginifica que ela é disponível em todos os escopos ( níveis ) de um script . Você não precisa fazer um global $_SESSION ; para pode acessá-la dentro de funções ou métodos , como era necessário com $HTTP_SESSION_VARS .

$HTTP_SESSION_VARS contém as mesmas informações , mas não é uma superglobal .

Se a diretiva register_globals está ativa , então essas variáveis tornam-se disponíveis no escopo global do script ( por exemplo , separados dos arrays $_SESSION e $HTTP_SESSION_VARS Para maiores informações , veja o capítulo de segurança entitulado Utilizando registradores globais . Estas variáveis globais individuais não são superglobais .

Variaveis globais : $GLOBALS

Nota: $GLOBALS foi disponibilizada desde a versão 3.0.0.

Um array associativo contendo referências para todas as variáveis atualmente definidas no escopo global do script . Os nomes das variáveis são as chaves do array .

Esta é uma variável ' superglobal ' , ou automaticamente global . Isto significa que ela é disponível em todos os escopos ( níveis ) de um script . Você não precisa fazer um global $GLOBALS ; para pode acessá-la dentro de funções ou métodos .

A mensagem de erro anterior : $php_errormsg

$php_errormsg é uma variável contendo o texto da última mensagem de erro gerada pelo PHP . Esta variável somente está disponível no escopo em que o erro ocorreu , e somente se a opção de configuração track_errors está ativa ( seu default é off ) .