PHP超級(jí)全局變量怎么使用

本文小編為大家詳細(xì)介紹“PHP超級(jí)全局變量怎么使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“PHP超級(jí)全局變量怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

創(chuàng)新互聯(lián)長(zhǎng)期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為湘陰企業(yè)提供專(zhuān)業(yè)的成都做網(wǎng)站、成都網(wǎng)站制作,湘陰網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

理解PHP超級(jí)全局

超級(jí)全局變量是一種特殊的變量類(lèi)型,因?yàn)樗鼈兛梢詮娜魏畏秶鷥?nèi)訪問(wèn)??梢詮娜魏挝募㈩?lèi)、甚至函數(shù)中訪問(wèn),而不需要執(zhí)行任何特殊的代碼段。

超全局變量是內(nèi)建的和預(yù)定義的。程序員可以通過(guò)PHP類(lèi)庫(kù)來(lái)使用它們。請(qǐng)注意,在類(lèi)庫(kù)中并非所有內(nèi)置的預(yù)定義變量都是超全局變量。

前提條件

要理解本文的內(nèi)容,讀者應(yīng)該具備以下條件。

  • 對(duì) PHP 變量聲明技術(shù)有基本了解。

  • 對(duì) PHP 有初步的了解。

PHP超級(jí)全局變量簡(jiǎn)介

超級(jí)全局變量是在 PHP 4.1.0 中引入的,此后一直是 PHP 的一個(gè)重要組成部分。在PHP中大約有9個(gè)超全局變量,有時(shí)被稱(chēng)為automatic globals 。它們?nèi)缦滤觥?/p>

  • $GLOBALS

  • $_SERVER

  • $_GET

  • $_POST

  • $_REQUEST

  • $_SESSION

  • $_COOKIE

  • $_FILE

  • $_ENV

讓我們?cè)谙旅娴恼鹿?jié)中討論這些超級(jí)全局變量。

$GLOBALS

GLOBALS是一個(gè)PHP變量,用于訪問(wèn)PHP腳本中的其他全局變量。所有的PHP全局變量都保存在一個(gè)稱(chēng)為GLOBALS是一個(gè)PHP變量,用于訪問(wèn)PHP腳本中的其他全局變量。所有的PHP全局變量都保存在一個(gè)稱(chēng)為`GLOBALS是一個(gè)PHP變量,用于訪問(wèn)PHP腳本中的其他全局變量。所有的PHP全局變量都保存在一個(gè)稱(chēng)為‘GLOBALS[index] 的數(shù)組中。index 中保存著variable name` 。

下面是一個(gè)使用超全局變量$GLOBAL 的例子:)

   <!doctype html>
   <html>
   <head>
   <title>GLOBAL example</title>
     </head>
     <body>
     <?php
        //php Script
       // Varriable declaration
       $a = 5;
       $b = 6;
         function multiplication(){
          $GLOBALS['c'] = $GLOBALS['a']* $GLOBALS['b'];
         }

         multiplication();
         echo $c;

      ?>
    </body>
   </html>

在上面的例子中,變量$c 在函數(shù)內(nèi)部和外部都可以訪問(wèn),因?yàn)樗?code>$GLOBALS 數(shù)組中。

$_SERVER

$_SERVER 是一個(gè)超全局變量,用于保存PHP腳本的信息頭、路徑和位置。 變量有幾個(gè)元素被保存。它們包括$_SERVER

  • $_SERVER['PHP_SELF'] - 它返回當(dāng)前正在執(zhí)行的腳本的文件名。

  • $_SERVER['SERVER_NAME'] - 這返回托管網(wǎng)站的服務(wù)器的名稱(chēng)。

  • $_SERVER['HTTP_HOST'] - 這將返回當(dāng)前請(qǐng)求的主機(jī)頭。

  • $_SERVER['SCRIPT_NAME'] - 這返回當(dāng)前腳本的路徑。

下面是一個(gè)顯示如何使用上述元素的示例代碼。

   <!doctype html>
   <html>
   <head>
   <title> $_SERVER example</title>
   </head>
       <body>
       <?php
       // PHP script
              echo $_SERVER['PHP_SELF'];
              echo "<br>";
              echo $_SERVER['SERVER_NAME'];
              echo "<br>";
              echo $_SERVER['HTTP_HOST'];
              echo "<br>";
              echo $_SERVER['SCRIPT_NAME'];
        ?>
       </body>
   </html>

上述代碼的輸出將包括。

  • 一個(gè)文件名。

  • 主機(jī)服務(wù)器的名稱(chēng)。

  • 主機(jī)當(dāng)前請(qǐng)求的標(biāo)題。

  • 當(dāng)前腳本的路徑。

$_GET

$_GET 變量是一個(gè)PHP超全局變量,用于收集HTML表單提交后的數(shù)據(jù)。HTML表單的結(jié)構(gòu)是這樣的:$_GET 作為一個(gè)方法。$_GET 也可以用來(lái)檢索在uniform resource locator 中發(fā)送的數(shù)據(jù)。

下面是一個(gè)例子,說(shuō)明如何在HTML表單中實(shí)現(xiàn)$_GET 變量。

   <!doctype html>
   <html>
   <head>
   <title>$_GET example</title>

   </head>
      <body>
         <!-- html form -->
      <form action="" method="GET">
          <label>Name</label>
          <input type="text" name="Name">
          <label>Email</label>
          <input type="text" name="Email">
          <button>Submit</button>

      </form>

          </body>
   </html>

當(dāng)用戶點(diǎn)擊Submit 按鈕時(shí),表單中的信息會(huì)用GET 方法發(fā)送,并顯示在URL 。然而,每次最多只能發(fā)送2048 字符。

$_POST

就像$_GET 變量一樣,$_POST 收集來(lái)自HTML表單的值。使用這種方法發(fā)送的信息不會(huì)顯示在URL中。一次可以發(fā)送的字符數(shù)也沒(méi)有限制。

下面是一個(gè)例子。

    <!doctype html>
    <html>
    <head>
    <title>$_POST example</title>

    </head>
      <body>
          <!-- html form -->
      <form action="" method="POST">
         <label>Name</label>
         <input type="text" name="Name">
         <label>Email</label>
         <input type="text" name="Email">
         <button>Submit</button>
      </form>

      </body>
     </html>

為什么POST變量?jī)?yōu)于GET?

盡管POSTGET 方法實(shí)現(xiàn)了相同的功能,但由于以下原因,POST 更受青睞。

  • POST方法對(duì)可以發(fā)送的數(shù)據(jù)大小沒(méi)有限制。

  • POST方法可以同時(shí)發(fā)送ASCII和二進(jìn)制數(shù)據(jù)。

  • POST方法不會(huì)在URL上顯示正在發(fā)送的信息,因此可以防止建立書(shū)簽。

  • POST方法使用一個(gè)HTTP header 來(lái)發(fā)送數(shù)據(jù)。這促進(jìn)了數(shù)據(jù)安全。

$_REQUEST

$_REQUEST 變量是一個(gè)PHP超全局,用于在提交表單后收集數(shù)據(jù)。它包含了$_GET ,$_POST ,甚至默認(rèn)的$_COOKIE 的內(nèi)容。各個(gè)字段的數(shù)據(jù)可以由PHP使用$_REQUEST 變量來(lái)收集。

下面的例子顯示了如何使用$_REQUEST 這個(gè)變量。

<!doctype html>
<html>
    <head>
    <title>$_REQUEST example</title>
    </head>
     <body>
     <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">

        <label>Name</label>
        <input type="text" myname="Name">
        <button>Submit</button>

      </form>

      <?php
          if($_SERVER["REQUEST_METHOD"]=="POST"){
             $name = $_REQUEST['myname'];
             if(!empty($myname))
          {
        
            echo $myname;

          }else{
             echo "Empty name";
          }

         }
      ?>

    </body>
</html>

上述代碼的輸出將是表單中已提交的name 。如果沒(méi)有提交名字,它將打印一個(gè)信息Empty name 。

$_SESSION

$_SESSION 變量是一個(gè)PHP的超級(jí)全局,它可以在用戶每次打開(kāi)網(wǎng)站時(shí)存儲(chǔ)和利用有關(guān)網(wǎng)站用戶的信息,直到網(wǎng)站關(guān)閉。

每次用戶訪問(wèn)網(wǎng)站時(shí),都會(huì)啟動(dòng)一個(gè)會(huì)話。下面的函數(shù)被用來(lái)在PHP代碼中啟動(dòng)一個(gè)會(huì)話。

   session_start()

會(huì)話開(kāi)始后,需要使用$_SESSION 變量進(jìn)行設(shè)置。

當(dāng)用戶離開(kāi)一個(gè)網(wǎng)站時(shí),會(huì)話被自動(dòng)銷(xiāo)毀。這是在用戶不知情的情況下使用下面的PHP函數(shù)完成的。

session_destroy()

下面的例子演示了$_SESSION 的使用。

<? php
    session_start();
?>

 <!doctype html>
 <html>
   <head>
      <title>$_SESSION demonstration code</title>
   </head>

 <body>
      <?php
         //Set session varriables

         $_SESSION["name"]="Mackrine";
         $_SESSION["favcolor"]="Blue";
         echo "session varriables are set";
      ?>
 </body>

</html>

$_COOKIE

Cookie是一個(gè)小文件,由服務(wù)器存儲(chǔ)在用戶的計(jì)算機(jī)中。它可以識(shí)別用戶。每當(dāng)向服務(wù)器發(fā)出請(qǐng)求時(shí)。通常會(huì)在請(qǐng)求的同時(shí)發(fā)送一個(gè)cookie。PHP 使用setcookie() 函數(shù)創(chuàng)建 cookie。

   setcookie(cookie_name,cookie_value, expiry, path, domain,secure,httponly)

該語(yǔ)法有許多參數(shù)。然而,只有name 參數(shù)是必需的。

在創(chuàng)建之后,可以使用超全局$_COOKIE 變量來(lái)檢索cookie。下面的代碼顯示了如何創(chuàng)建和檢索一個(gè)cookie。

  <?php

    $cookie_name = "uname";
    $cookie_value = "Mackrine";

   //setting cookie

    setcookie($cookie_name, $cookie_value, time()+(86400*30),"/");

     ?>
    <!doctype html>
    <html>
    <body>
    <?php

       if(isset($_COOKIE[$cookie_name]))
        {
            echo "Cookie name:" .$cookie_name;
            echo "<br>";
            echo "Cookie value:" .$cookie_value;

        }
         else
         {
            echo $cookie_name. " is not set!";

         }
    ?>
    </body>
    </html>

只有在過(guò)期的情況下,才可以使用setcookie() 函數(shù)刪除cookie。

$_FILES

$_FILES 是一個(gè)變量,包含使用HTTPPOST方法上傳的項(xiàng)目。 數(shù)組包含幾個(gè)元素,如下所述。$_FILES

  • $_FILES['file']['name'] - 這通常是要上傳的文件的原始名稱(chēng)。

  • $_FILES['file']['type'] - 這是指被上傳文件的類(lèi)型。

  • $_FILES['file']['size'] - 以字節(jié)為單位的文件大小。

  • $_FILES['file']['tmp_name'] - 它指的是在服務(wù)器上上傳的存儲(chǔ)文件的臨時(shí)文件名。

  • $_FILE['file']['error']- 文件上傳的相關(guān)錯(cuò)誤代碼。

讀到這里,這篇“PHP超級(jí)全局變量怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:PHP超級(jí)全局變量怎么使用
網(wǎng)址分享:http://muchs.cn/article2/ppjjic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、定制開(kāi)發(fā)、網(wǎng)站內(nèi)鏈、云服務(wù)器、網(wǎng)站導(dǎo)航、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司