English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
As variáveis superglobais no PHP 4.1A variável é ativada após o ponto zero, é uma variável do sistema do PHP, disponível em todo o escopo de um script.
O PHP pré-definiu alguns superglobais (superglobals), o que significa que estão disponíveis em todo o escopo de um script. Você não precisa especificar, pode ser usado em funções e classes.
Lista de variáveis superglobais do PHP:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
Nesta seção, explicaremos alguns dos superglobais mais comuns, enquanto outros serão abordados em várias seções subsequentes.
O $GLOBALS é um grupo de variáveis superglobais do PHP, acessível em todo o escopo de um script PHP.
O $GLOBALS é um array composto global que contém todas as variáveis. O nome da variável é a chave do array.
A seguir, é introduzido como usar as variáveis superglobais $GLOBALS:
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x']; + $GLOBALS['y']; } addition(); echo $z; ?>Teste e veja ‹/›
No exemplo acima, z é uma variável superglobal do array $GLOBALS, que também pode ser acessada fora da função.
O $_SERVER é um array que contém informações como cabeçalhos (header), caminhos (path) e locais de scripts (script locations), entre outros. Este array é criado pelo servidor web. Não há garantia de que todos os servidores forneçam todos os itens; alguns podem ser ignorados ou fornecidos sem estar listados aqui.
A seguir, é demonstrado como usar os elementos do $_SERVER:
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; echo "<br>"; echo $_SERVER['HTTP_HOST']; echo "<br>"; echo $_SERVER['HTTP_REFERER']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; ?>Teste e veja ‹/›
A tabela a seguir lista todos os elementos importantes das variáveis $_SERVER:
Elemento/Código | Descrição |
---|---|
$_SERVER['PHP_SELF'] | O nome do arquivo do script executando atualmente, relacionado ao diretório raiz do documento. Por exemplo, no endereço http://example.com/test.php/No script foo.bar, o uso de $_SERVER['PHP_SELF'] resultará em /test.php/foo.bar. A constante __FILE__ contém o caminho completo e o nome do arquivo do arquivo atual (por exemplo, contido) A partir do PHP 4.3.0 versão, se o PHP estiver executando em modo de linha de comando, essa variável conterá o nome do script. Nas versões anteriores, essa variável não está disponível. |
$_SERVER['GATEWAY_INTERFACE'] | A versão do padrão CGI usado pelo servidor; por exemplo, "CGI/1.1"。 |
$_SERVER['SERVER_ADDR'] | O endereço IP do servidor onde o script está executando. |
$_SERVER['SERVER_NAME'] | O nome do host do servidor onde o script está executando. Se o script estiver executando em um host virtual, o nome é determinado pelo valor configurado pelo host virtual. Por exemplo: www.w3(codebox.com) |
$_SERVER['SERVER_SOFTWARE'] | A string de identificação do servidor, fornecida na cabeçalho da resposta à solicitação. Por exemplo: Apache/2.2.24) |
$_SERVER['SERVER_PROTOCOL'] | O nome e a versão do protocolo de comunicação usado para acessar a página. Por exemplo, "HTTP/1.0". |
$_SERVER['REQUEST_METHOD'] | O método de comunicação usado para acessar a página; por exemplo, "GET", "HEAD", "POST", "PUT". |
$_SERVER['REQUEST_TIME'] | O timestamp do início da solicitação. A partir do PHP 5.1.0 está disponível. (Por exemplo:1377687496) |
$_SERVER['QUERY_STRING'] | query string (cadeia de consulta), se houver, através dela para acessar a página. |
$_SERVER['HTTP_ACCEPT'] | O conteúdo do item Accept na cabeçalho da solicitação atual, se existir. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | O Accept na cabeçalho da solicitação atual-Charset: o conteúdo do item, se existir. Por exemplo: "iso-8859-1,*,utf-8"。 |
$_SERVER['HTTP_HOST'] | O conteúdo do item Host: na cabeçalho da solicitação atual, se existir. |
$_SERVER['HTTP_REFERER'] | Guiar o agente de usuário para a página anterior da página atual (se existir). Decidido pelo agente de usuário. Nem todos os agentes de usuário configuram este item, alguns ainda oferecem a função de modificar o HTTP_REFERER. Em resumo, este valor não é confiável.) |
$_SERVER['HTTPS'] | Se o script for acessado via protocolo HTTPS, é definido como um valor não vazio. |
$_SERVER['REMOTE_ADDR'] | O endereço IP do usuário que está navegando na página atual. |
$_SERVER['REMOTE_HOST'] | O nome do host do usuário que está navegando na página atual. A resolução reversa de DNS não depende do $_SERVER['REMOTE_ADDR']. |
$_SERVER['REMOTE_PORT'] | O número da porta usada pelo cliente para se conectar ao servidor web no computador do usuário. |
$_SERVER['SCRIPT_FILENAME'] | O caminho absoluto do script executado atualmente. |
$_SERVER['SERVER_ADMIN'] | Este valor especifica o parâmetro SERVER_ADMIN no arquivo de configuração do servidor Apache. Se o script estiver executando em um host virtual, este valor é o valor do host virtual (por exemplo: someone@w3(codebox.com) |
$_SERVER['SERVER_PORT'] | A porta usada pelo servidor web. O valor padrão é "8"0". Se usar conexão segura SSL, este valor é o porta HTTP configurada pelo usuário. |
$_SERVER['SERVER_SIGNATURE'] | Contém uma string com a versão do servidor e o nome do host virtual. |
$_SERVER['PATH_TRANSLATED'] | O caminho básico do sistema de arquivos onde o script atual está localizado (não o diretório raiz do documento). Isso é o resultado após o mapeamento virtual para o caminho real pelo servidor. |
$_SERVER['SCRIPT_NAME'] | Contém o caminho do script atual. Isso é muito útil quando a página precisa se referir a si mesma. A constante __FILE__ contém o caminho completo e o nome do arquivo do script atual (por exemplo, arquivos incluídos). |
$_SERVER['SCRIPT_URI'] | URI é usado para especificar a página a ser acessada. Por exemplo "/"index.html"。 |
O $_REQUEST do PHP é usado para coletar dados de submissão de formulário HTML.
O exemplo a seguir mostra um formulário com um campo de entrada (input) e um botão de envio (submit): Quando o usuário clicar no botão "Submit" para enviar os dados do formulário, os dados do formulário serão enviados para o arquivo de script especificado no atributo action do rótulo <form>. Neste exemplo, especificamos o arquivo para processar os dados do formulário. Se você quiser que outro arquivo PHP processe os dados, você pode modificar o nome do arquivo de script especificado. Então, podemos usar a variável global super $_REQUEST para coletar dados dos campos input do formulário:
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];;"> Nome: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_REQUEST['fname']; echo $name; ?> </body> </html>Teste e veja ‹/›
O PHP $_POST é amplamente aplicado na coleta de dados de formulários, especificando o atributo no rótulo HTML form: "method="post".
O exemplo a seguir mostra um formulário com um campo de entrada (input) e um botão de envio (submit): Quando o usuário clicar no botão "Submit" para enviar os dados do formulário, os dados do formulário serão enviados para o arquivo de script especificado no atributo action do rótulo <form>. Neste exemplo, especificamos o arquivo para processar os dados do formulário. Se você quiser que outro arquivo PHP processe os dados, você pode modificar o nome do arquivo de script especificado. Então, podemos usar a variável global super $_POST para coletar dados dos campos input do formulário:
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];;"> Nome: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>Teste e veja ‹/›
O PHP $_GET é amplamente aplicado na coleta de dados de formulários, especificando o atributo no rótulo HTML form: "method="get".
$_GET também pode coletar dados enviados na URL.
Suponha que tenhamos uma página HTML de link contendo parâmetros:
<html> <body> <a href="test_get.php?subject=PHP&web=oldtoolbag.com">Test $GET</a> </body> </html>
Quando o usuário clicar no link "Test $GET", os parâmetros "subject" e "web" será enviada para "test_get.php", você pode usar a variável $_GET no arquivo "test_get.php" para obter esses dados.
O exemplo a seguir mostra o código do arquivo "test_get.php":
<html> <body> <?php echo "Estudo" . $_GET['subject'] . " @ " . $_GET['web']; ?> </body> </html>Teste e veja ‹/›
Dica: Se você quiser aprender mais sobre $_POST e $_GET, acesse nosso Formulários PHP Capítulo.