Heim >Backend-Entwicklung >PHP-Problem >Wie viele superglobale PHP-Variablen gibt es?
Es gibt 9 superglobale Variablen in PHP, nämlich: „$GLOBALS“, „$_SERVER“, „$_GET“, „$_POST“, „$_FILES“, „$_COOKIE“, „$_SESSION“, „$ _REQUEST", "$_ENV".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Viele vordefinierte Variablen in PHP sind „superglobal“, was bedeutet, dass sie im gesamten Umfang eines Skripts liegen In allen erhältlich. Auf sie kann innerhalb einer Funktion oder Methode zugegriffen werden, ohne dass global $variable;
ausgeführt werden muss.
Diese superglobalen Variablen sind:
$GLOBALS
$_SERVER
$_GET
$_POST
$_FILES
$_COOKIE
$_SESSION
$_REQUEST
$_ENV
PHP $_GET kann auch zum Sammeln nach dem Absenden des HTML-Formulars verwendet werden (method="get" ) Formulardaten.
$_GET kann auch in der URL gesendete Daten sammeln. 🔜 Formular mit method="post" Formulardaten. $_POST wird häufig auch zum Übergeben von Variablen verwendet.
Das folgende Beispiel zeigt ein Formular mit Eingabefeldern und einem Absenden-Button. Wenn der Benutzer auf die Schaltfläche „Senden“ klickt, um die Daten zu senden, werden die Formulardaten an die Datei gesendet, die im Aktionsattribut des ff9c23ada1bcecdd1a0fb5d5a0f18437-Tags angegeben ist. In diesem Beispiel geben wir die Datei selbst an, die die Formulardaten verarbeiten soll. Wenn Sie eine andere PHP-Seite zur Verarbeitung der Formulardaten verwenden möchten, ändern Sie den Dateinamen in einen Dateinamen Ihrer Wahl. Dann können wir die superglobale Variable $_POST verwenden, um den Wert des Eingabefelds zu sammeln:
http://localhost/test_get.php?subject=PHP&web=W3school.com.cn3 –> kann Werte sowohl in der Get- als auch in der Post-Methode empfangen
Das folgende Beispiel zeigt ein Formular mit Eingabefeldern und einem Absenden-Button. Wenn ein Benutzer Formulardaten sendet, indem er auf die Schaltfläche „Senden“ klickt, werden die Formulardaten an die Skriptdatei gesendet, die im Aktionsattribut des Tags angegeben ist. In diesem Beispiel geben wir die Datei selbst an, die die Formulardaten verarbeiten soll. Wenn Sie andere PHP-Dateien zur Verarbeitung von Formulardaten verwenden müssen, ändern Sie bitte den Dateinamen in den Dateinamen Ihrer Wahl. Dann können wir die superglobale Variable $_REQUEST verwenden, um den Wert des Eingabefelds zu sammeln:
<html> <body> <?php echo "Study " . $_GET['subject'] . " at " . $_GET['web']; ?> </body> </html>4. $GLOBALS –> bezieht sich auf alle im globalen Bereich verfügbaren Variablen
$GLOBALS Globale Variable wird verwendet. Greifen Sie von überall in Ihrem PHP-Skript auf globale Variablen zu (von Funktionen oder Methoden). PHP speichert alle globalen Variablen in einem Array namens $GLOBALS[index]. Der Name der Variablen ist der Schlüssel des Arrays.
Wird hauptsächlich verwendet, wenn globale Variablen nicht im lokalen Bereich verwendet werden können, globale Variablen jedoch verwendet werden müssen. Verwenden Sie $GLOBALS.
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
5. $_FILES –> Dateien hochladen mit
$_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 mit 5 Elementen.- $_FILES wird hauptsächlich dort verwendet, wo Binärdateien hochgeladen werden müssen. Beim Hochladen einer abc.mp3-Datei muss der Server relevante Informationen über die Datei erhalten, die über die Variable $_FILES abgerufen werden. Die superglobale Variable
$ _files ['userFile'] ['Name']Description
Der MIME-Typ der Datei, der erfordert, dass der Browser diese Informationen unterstützt, z. B. „image/gif“ | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
$_FILES['userfile']['tmp_name'] | |||||||||||||||||||||||||||||||||||||||||||||||||||
$_FILES['userfile' ]['error '] | |||||||||||||||||||||||||||||||||||||||||||||||||||
前端上传文件示例代码: /**创建一个文件上传表单 允许用户从表单上传文件是非常有用的。 请看下面这个供上传文件的 HTML 表单:**/ <html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html> 后端处理文件示例代码: <?php if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?> 6. $_SERVER –> 系统环境变量
下面的例子展示了如何使用 $_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']; ?> 常用的字段:
7. $_SESSION –> 用于会话控制
①开始 PHP Session : <?php session_start(); ?> <html> <body> </body> </html> ②存储 和使用Session 变量: <?php session_start(); // store session data $_SESSION['views']=1; ?> <html> <body> <?php //retrieve session data echo "Pageviews=". $_SESSION['views']; ?> </body> </html> ③终结 Session //通过 unset() 函数用于释放指定的 session 变量: <?php unset($_SESSION['views']); ?> //通过 session_destroy() 函数彻底终结 session: <?php session_destroy(); ?> 注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。 8. $_COOKIE –> 用于会话控制
①创建 Cookie //语法 setcookie(name, value, expire, path, domain); //示例 <?php setcookie("user", "Alex Porter", time()+3600); //创建名为 "user" 的 cookie,把为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期 ?> <html> <body> </body> </html> ②取回 Cookie 值 //示例a:取回了名为 "user" 的 cookie 的值,并把它显示在了页面上 <?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ?> //示例b:使用 isset() 函数来确认是否已设置了 cookie <html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; else echo "Welcome guest!<br />"; ?> </body> </html> 9. $_ENV –> 服务器端环境变量
$_ENV只是被动的接受服务器端的环境变量并把它们转换为数组元素,你可以尝试直接输出它: //输出内容格式清晰,ThinkPHP可以直接用dump() var_dump($_ENV); //输出到屏幕 print_r($_ENV); //输出key-value键值对 foreach($_ENV as $key=>$val){echo $key.'--------'.$val.'<br>';} 推荐学习:《PHP视频教程》 |
Das obige ist der detaillierte Inhalt vonWie viele superglobale PHP-Variablen gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!