Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Verwendung von 9 vordefinierten superglobalen Variablen in PHP

Detaillierte Erläuterung der Verwendung von 9 vordefinierten superglobalen Variablen in PHP

怪我咯
怪我咯Original
2017-07-13 10:33:301833Durchsuche

Viele der vordefinierten Variablen in PHP sind „superglobal“, was bedeutet, dass sie im gesamten Umfang eines Skripts verfügbar sind. Auf sie kann innerhalb einer Funktion oder Methode zugegriffen werden, ohne dass die globale $variable; ausgeführt werden muss.

Diese superglobalen Variablen sind:

  • $GLOBALS

  • $_SERVER

  • $_REQUEST

  • $_POST

  • $_GET

  • $ _FILES

  • $_ENV

  • $_COOKIE

  • $_SESSION

In diesem Artikel werden hauptsächlich die superglobalen Variablen von PHP 9 vorgestellt.

1 $_SERVER

Die superglobale Variable $_SERVER enthält die von Webserver-Informationen, die Informationen über Server- und Client-Konfigurationen und die aktuelle Anforderungsumgebung bereitstellen. Abhängig vom Server unterscheiden sich der Variablenwert und die Anzahl der Variablen in $_SERVER. Im Allgemeinen finden Sie jedoch die in der CGI1.1-Spezifikation definierten Variablen. Dazu gehören:

$_SERVER['HTTP_REFERER']; Die URL der Seite, die den Benutzer zum aktuellen Standort geführt hat;

$_SERVER['REMOTE_ADDR']; Adresse;

$_SERVER['REQUEST_URI']; Wenn die URL [url]http://www.example.com/blog/apache/index.html[/url] lautet, lautet der URI /blog/apache/index.html.

$_SERVER['HTTP_USER_AGENT']; Der Benutzeragent des Kunden stellt im Allgemeinen Informationen über das Betriebssystem und den Browser bereit.

2. $_GET

Die superglobale Variable $_GET enthält Informationen zu Parametern, die mit der GET-Methode übergeben wurden. Wenn die Anforderungs-URL [url]http://www.example.com /index.html?cat=apache&id=157[/url] lautet, können Sie die superglobale Variable $_GET verwenden, um auf die folgenden Variablen zuzugreifen:

$ _GET['cat'] = "apache";

$_GET['id'] = "157";

Standardmäßig für den Zugriff auf Variablen, die über die GET-Methode übergeben werden , $_GET Superglobale Variablen sind die einzige Möglichkeit.

3. $_POST

Die superglobale Variable $_POST enthält Informationen zu den von der POST-Methode übergebenen Parametern.

Der Code lautet wie folgt:

<form caction="subscribe.php" method="post">
  <p> Email address : <br>
    <input type="text" name="email" size="20" maxlength="so" value="">
  </p>
  <p> Password : <br>
    <input type="password" name="pswd" size="20" maxlength="15" value="">
  </p>
  <p>
    <input type="submit" name="subscribe" value="subscribe!">
  </p>
</form>

Über das Skript subscribe.php können Sie die folgende POST-Variable verwenden :

$_POST[&#39;email&#39;] = " jason@example.com ";
$_POST[&#39;pswd&#39;] = "rainyday";
$_POST[&#39;subscribe&#39;] = "subscribe!";

Wie $_GET ist die superglobale Variable $_POST standardmäßig die einzige Möglichkeit, auf POST-Variablen zuzugreifen.

4. $_COOKIE

Die superglobale Variable $_COOKIE speichert die Informationen, die über das HTTP-Cookie an das Skript übergeben werden. Diese Cookies werden im Allgemeinen von einem zuvor ausgeführten PHP-Skript über die PHP-Funktion setcookie() gesetzt. Angenommen, Sie verwenden setcookie(), um ein Cookie mit dem Namen example.com und dem Wert ab2213 zu speichern. Dieser Wert kann später durch Aufruf von $_COOKIE['example.com'] abgerufen werden.

5. $_FILES

Die superglobale Variable $_FILES enthält Informationen über die Daten, die über die POST-Methode auf den Server hochgeladen wurden. Diese superglobale Variable unterscheidet sich von anderen Variablen. Sie ist ein zweidimensionales Array , das 5 Elemente enthält. Der erste Index markiert den Elementnamen Datei-Upload des Formulars; der zweite Index ist einer von fünf vordefinierten Indizes, die ein bestimmtes Attribut der hochgeladenen Datei beschreiben:

$_FILES[&#39;upload-name&#39;][&#39;name&#39;]; 从客户端向服务器上传文件的文件名;
$_FILES[&#39;upload-name&#39;][&#39;type&#39;]; 上传文件的MIME类型,这个变量是否赋值取决于浏览器的功能。
$_FILES[&#39;upload-name&#39;][&#39;size&#39;]; 上传文件的大小(以字节为单位);
$_FILES[&#39;upload-name&#39;][&#39;tmp_name&#39;]; 上传之后,将此文件移到最终位置之前赋予的临时名。
$_FILES[&#39;upload-name&#39;][&#39;error&#39;]; 上传状态码。尽管这个变量的名为 error ,但实际上在成功的情况下也会填写这个变量。它有五个可能的值:
UPLOAD_ERR_OK 文件成功上传
UPLOAD_ERR_INI_SIZE 文件大小超出了 upload_max_filesize 指令所指定的最大值。
UPLOAD_ERR_FORM_SIZE 文件大小超出了MAX_FILE_SIZE 隐藏表单域参数(可选)指定的最大值。
UPLOAD_ERR_PARTIAL 文件只上传了一部分
UPLOAD_ERR_NO_FILE 上传表单中没有指定文件

6. Die superglobale Variable $_ENV

$_ENV liefert Informationen über die Serverumgebung, in der PHP analysiert. Zu den Variablen in diesem Array gehören:

$_ENV['HOSTNAME'] Server-Hostname

$_ENV['SHELL'] System-Shell

7 _REQUEST

Die superglobale Variable $_REQUEST ist ein Allrounder, der Variablen aufzeichnet, die über verschiedene Methoden, insbesondere GET, POST und COOKIE, an das Skript übergeben werden. Die Reihenfolge dieser Variablen hängt nicht von der Reihenfolge ab, in der sie im Sendeskript erscheinen, sondern von der Reihenfolge, die durch die Konfigurationsanweisung „variables_order“ angegeben wird. Es wird empfohlen, diese Supervariable sparsam zu verwenden, da sie nicht sicher genug ist.

8. $_SESSION

Die superglobale Variable $_SESSION enthält Informationen zu allen Sitzungen. Durch das Registrieren von Sitzungsinformationen haben Sie den Komfort, auf Ihrer gesamten Website darauf verweisen zu können, ohne die Daten explizit per GET oder POST übergeben zu müssen.

9. $GLOBALS

$GLOBALS Das superglobale Variablenarray kann als Obermenge superglobaler Variablen betrachtet werden, einschließlich aller Variablen im globalen Bereich. Führen Sie den folgenden Code aus, um alle Variablen in $GLOBALS anzuzeigen.

print &#39;<pre class="brush:php;toolbar:false">&#39;;  
 
print_r ($GLOBALS);  
 
print &#39;
';

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von 9 vordefinierten superglobalen Variablen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn