最新公告
  • 欢迎您光临站长源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • php超全局变量怎么设置

    正文概述 管理员   2024-08-20   62

    在 PHP 中,超全局变量是一组预定义的变量,通常用于在不同的作用域中共享信息。PHP 超全局变量可以在任何地方访问。超全局变量自 PHP 4.1.0 版本以来就被引入到了 PHP 语言中。这些超全局变量引入了外部数据(例如 $_GET 和 $_POST 变量)并使其可以安全地在脚本内使用。

    以下是 PHP 中的超全局变量:

    - $GLOBALS:包含所有全局变量的数组。

    - $_SERVER:包含当前脚本的服务器信息,如文件路径、脚本名称等等。

    - $_GET:包含从 URL 传递的参数。

    - $_POST:包含通过 HTTP POST 方法传递的参数。

    - $_FILES:包含上传的文件信息。

    - $_COOKIE:包含当前脚本中可用的 cookie。

    - $_SESSION:包含当前会话中可用的变量。

    - $_REQUEST:包含 $_GET、$_POST 和 $_COOKIE 的内容。

    为了设置超全局变量,请使用以下方法:

    $GLOBAL:

    在 PHP 中, $GLOBALS 是一个超全局变量,它包含了所有全局变量的数组。以下是一个示例:

    <?php

    $x = 10;

    $y = 20;

    function addition() {

    $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];

    }

    addition();

    echo $z;

    ?>

    在此示例中, $GLOBALS 数组中定义了两个变量 $x 和 $y,并使用它们定义了一个名为 addition() 的新函数。然后这个函数使用 $GLOBALS 数组中的 $x 和 $y 变量计算出 $z,并将其添加到 $GLOBALS 数组中。最后,使用 echo 命令输出 $z 变量的值。

    $_SERVER:

    在 PHP 中,$_SERVER 超全局变量可以用来显示关于当前 HTTP 请求的信息以及服务器信息。例如,您可以使用 $_SERVER[‘PHP_SELF’] 来获取当前正在请求的脚本的文件名。以下是一个示例:

    <?php

    echo $_SERVER['PHP_SELF'];

    ?>

    在此示例中,使用 echo 命令输出当前正在运行的脚本的文件名。

    $_GET和$_POST:

    $_GET 和 $_POST 超全局变量用于获取通过 URL 或 HTTP POST 方法传递给 PHP 脚本的信息。以下是一个示例:

    <form action="welcome.php" method="get">

    Name: <input type="text" name="name"><br>

    E-mail: <input type="text" name="email"><br>

    <input type="submit">

    </form>

    在此示例中,我们创建了一个表单,其中包含一个文本框用于输入用户名和电子邮件地址。当用户单击“提交”按钮时,表单将使用 GET 方法将输入的值发送到名为 welcome.php 的 PHP 脚本中。如下所示:

    Welcome <?php echo $_GET["name"]; ?><br>

    Your email address is: <?php echo $_GET["email"]; ?>

    在此示例中,我们使用 $_GET 超全局变量从 URL 获取值,并将其用于显示欢迎消息和电子邮件地址。

    $_FILES:

    $_FILES 超全局变量用于从表单中上传的文件中获取信息。以下是一个示例:

    <form action="upload.php" method="post" enctype="multipart/form-data">

    Select image to upload:

    <input type="file" name="fileToUpload" id="fileToUpload">

    <input type="submit" value="Upload Image" name="submit">

    </form>

    在此示例中,我们创建了一个表单,用户可以上传文件。当用户单击“上传图片”按钮时,表单会将文件发送到名为 upload.php 的 PHP 脚本中。以下是一个示例:

    $target_dir = "uploads/";

    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);

    在此示例中,我们使用 $_FILES 超全局变量获取上传文件的基本信息,并将其存储在服务器上。

    $_COOKIE:

    $_COOKIE 超全局变量用于获取 cookie 信息。以下是一个示例:

    <?php

    echo $_COOKIE["user"];

    ?>

    在此示例中,我们使用 $_COOKIE 超全局变量获取名为“user”的 cookie 的值,并将其输出到屏幕上。

    $_SESSION:

    $_SESSION 超全局变量用于在 PHP 的不同页面之间共享信息。以下是一个示例:

    <?php

    session_start();

    $_SESSION['color'] = "red";

    $_SESSION['animal'] = "dog";

    ?>

    <!DOCTYPE html>

    <html>

    <body>

    <?php

    echo "Session variables are set.";

    ?>

    </body>

    </html>

    在此示例中,我们使用 session_start() 函数开始会话,并使用 $_SESSION 超全局变量将信息保存在会话中。我们还使用 echo 命令输出一则消息,通知用户 Session 变量已设置。

    $_REQUEST:

    $_REQUEST 超全局变量用于获取通过 HTTP GET 和 POST 方法提交的参数。示例:

    <?php

    $name = $_REQUEST['name'];

    $email = $_REQUEST['email'];

    ?>

    在此示例中,我们使用 $_REQUEST 超全局变量从表单中获取用户输入的姓名和电子邮件地址,并将它们存储在 $name 和 $email 变量中。

    总结:

    超全局变量使得从表单、URL、cookie 和服务器参数等数据源中获取和操作信息变得更加容易。超全局数组与正常数组的操作方法类似,但超全局数组可以在脚本中的任何地方访问。本文从 8 个超全局变量入手,介绍了 PHP 超全局变量的用法和设置方法。

    在 PHP 中,有一些特殊的全局变量被称为超全局变量。这些变量不需要在函数内部通过 global 关键字来声明即可在任何地方被访问。本文将会介绍如何设置和使用 PHP 中的超全局变量。

    ## 超全局变量有哪些?

    PHP 中的超全局变量有以下几个:

    - `$GLOBALS`:包含了所有全局变量的数组;

    - `$_SERVER`:包含了服务器信息以及客户端请求的头信息等;

    - `$_GET`:包含了 GET 请求产生的参数;

    - `$_POST`:包含了 POST 请求产生的参数;

    - `$_FILES`:包含了文件上传请求产生的参数;

    - `$_COOKIE`:包含了客户端发送的 cookie;

    - `$_SESSION`:包含了当前会话中的所有变量;

    - `$_REQUEST`:包含了 GET、POST 和 COOKIE 请求产生的参数。

    ## 如何设置超全局变量?

    超全局变量的值是自动设置的,不需要手动设置。例如,`$_GET` 数组中的值是自动从 URL 参数中获取的,`$_POST` 数组中的值是自动从 POST 请求中获取的。

    如果你想给 `$GLOBALS` 数组中新增一个键值对,可以直接进行赋值:

    ```php

    $GLOBALS['myVar'] = 'hello world';

    这样 `$GLOBALS['myVar']` 就被设置成了 `'hello world'`。

    对于其他超全局变量,你可以通过修改相关的请求信息来设置。例如,你可以设置一个 GET 参数:

    http://localhost/index.php?id=123

    这样 `$_GET['id']` 就被设置成了 `'123'`。

    ## 如何使用超全局变量?

    超全局变量可以在任何地方被使用,包括函数内部。在函数内部,你可以使用 `global` 关键字来访问全局变量:

    ```php

    $myVar = 'hello';

    function printMyVar() {

    global $myVar;

    echo $myVar;

    }

    printMyVar(); // 输出 'hello'

    对于超全局变量,你不需要使用 `global` 关键字,直接访问即可:

    ```php

    echo $_SERVER['PHP_SELF'];

    在使用 `$_FILES` 变量时,需要注意上传文件的临时路径和目标路径等细节。例如,你可以这样将上传的文件移动到指定的目录下:

    ```php

    $targetDir = '/path/to/target/dir/';

    $targetFile = $targetDir . basename($_FILES['file']['name']);

    if (move_uploaded_file($_FILES['file']['tmp_name'], $targetFile)) {

    echo '文件上传成功';

    } else {

    echo '文件上传失败';

    }

    ## 总结

    PHP 中的超全局变量是一些特殊的全局变量,不需要在函数内部使用 `global` 关键字即可被访问。超全局变量包括 `$GLOBALS`、`$_SERVER`、`$_GET`、`$_POST`、`$_FILES`、`$_COOKIE`、`$_SESSION` 和 `$_REQUEST`。你可以通过修改请求信息来设置超全局变量,也可以直接使用其中的值。在使用 `$_FILES` 变量时需要注意细节,例如上传文件的临时路径和目标路径等。


    站长源码网 » php超全局变量怎么设置

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元