PHP의 슈퍼 전역 변수는 무엇입니까? 사용하는 방법?
PHP에는 미리 정의된 몇 가지 배열 변수가 있습니다. 이러한 변수는 언제든지 스크립트의 어느 곳에서나 액세스할 수 있습니다. 이 기사에서는 이러한 슈퍼 전역 변수를 소개하고 이러한 변수의 사용법을 간략하게 이해하는 데 도움이 되기를 바랍니다. [동영상 튜토리얼 추천: PHP 튜토리얼]
슈퍼글로벌 변수란 무엇인가요?
슈퍼 전역 변수는 PHP에 내장되어 있으며 특별히 정의된 배열 변수입니다. 슈퍼 전역 변수를 사용하여 언제 어디서나 스크립트의 정보에 액세스할 수 있습니다. 즉, 범위에 관계없이 요청이나 해당 컨텍스트에 대한 정보를 쉽게 얻을 수 있습니다.
수퍼 전역 변수는 전역 변수 선언과 같은 특별한 작업을 수행하지 않고도 모든 함수, 클래스 또는 파일에서 액세스할 수 있습니다. 주로 애플리케이션의 한 페이지에서 다른 페이지로 정보를 저장하고 검색하는 데 사용됩니다.
다음은 PHP에서 사용할 수 있는 슈퍼전역 변수 목록입니다:
● $ GLOBALS
● $ _ SERVER
● $ _REQUEST
● $ _GET
● $ _ POST
● $ _SESSION
● $ _COOKIE
● $ _FILES
● $ _ENV
다음으로 슈퍼 전역 변수에 대해 자세히 소개하겠습니다.
$ GLOBALS
$ GLOBALS는 스크립트에 선언된 모든 변수를 저장하는 슈퍼 전역 변수이며 스크립트 내 모든 변수에 액세스하는 데 사용할 수 있습니다.
PHP는 모든 전역 변수를 $GLOBALS[] 배열에 저장합니다. 이 배열에는 전역 변수 이름을 보유하는 인덱스가 있으며 해당 이름을 사용하여 액세스할 수 있습니다.
$GLOBALS 사용법을 살펴보겠습니다.
<?php $x = 300; $y = 200; function multiplication(){ $GLOBALS['z'] = $GLOBALS['x'] * $GLOBALS['y']; } multiplication(); echo $z; ?>
위 코드에서는 두 개의 전역 변수 $x와 $y가 선언되고 값 300과 200이 할당됩니다. 그런 다음 곱셈() 함수를 정의하여 $x 및 $y 값을 GLOBAL 배열에 정의된 다른 변수 $z에 곱하고 저장합니다.
$x 및 $y 변수는 선언되지 않았기 때문에 multiplication() 함수에서 액세스할 수 없다는 것을 알고 있지만 $GLOBALS 배열 변수를 사용하여 액세스할 수 있습니다.
square() 함수가 호출되면 변수 $x 및 $y 값의 곱셈이 수행되어 직접 표시될 수 있습니다.
$GLOBALS 배열 변수에도 $z 변수가 존재하기 때문에 얻은 곱셈 결과입니다.
출력:
$ _SERVER
$ _SERVER는 헤더(헤더), 경로 및 스크립트 위치에 대한 정보를 저장하는 데 사용되는 PHP 슈퍼 전역 변수입니다. 즉, 웹 및 요청된 정보에 대한 정보를 저장합니다. . 이러한 요소 중 일부는 슈퍼전역 변수 $_SERVER에서 정보를 얻는 데 사용됩니다.
$ _SERVER 변수에는 많은 정보 요소가 사용됩니다. 그 중 일부는 다음과 같습니다.
요소 | 설명 |
$ _ SERVER [ 'PHP_SELF'] | 현재 실행 중인 스크립트의 파일 이름을 반환합니다. |
$ _ SERVER [ 'SERVER_ADDR'] | 호스트 서버의 IP 주소를 반환합니다. |
$ _ SERVER ['SERVER_NAME'] | 호스트 서버의 이름을 반환합니다. |
$ _ SERVER [ 'QUERY_STRING'] | 쿼리 문자열을 통해 페이지에 접속하면 해당 쿼리 문자열이 반환됩니다. |
$ _ SERVER ['REQUEST_TIME'] | 요청이 시작된 타임스탬프를 반환합니다. |
下面我们就来看看如何使用$ _SERVER:
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; echo "<br>"; echo $_SERVER['HTTP_HOST']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; echo "<br>" ?>
输出:
在上面的代码中,我们使用$ _SERVER元素来获取一些信息。我们使用'PHP_SELF'元素获取当前处理的文件名,使用'SERVER_NAME'元素获取当前使用的服务器名称,通过'HTTP_HOST'获取主机名。
$ _REQUEST
$ _REQUEST是一个超全局变量,用于在提交HTML表单后收集数据。$ _REQUEST主要不使用,因为$ _POST和$ _GET执行相同的任务并被广泛使用。
注:$ _REQUEST可能导致安全风险。
下面我们就来看看如何使用$ _REQUEST:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <div class="demo"> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 用户名: <input type="text" name="fname"> <button type="submit">提交</button> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = htmlspecialchars($_REQUEST['fname']); if(empty($name)){ echo "用户名为空"; } else { echo "用户名为:".$name; } } ?> </div> </body> </html>
效果图:
在上面的代码中,我们创建了一个表单,该表单将用户名作为输入,并在单击提交按钮时输出显示其名称。我们使用action属性中指定的$ _SERVER ['PHP_SELF']元素将表单中接受的数据传输到同一页面,因为我们使用PHP代码操作同一页面中的数据。使用$ _REQUEST超全局数组变量检索数据。
$ _POST
$ _POST是一个超级全局变量,用于在提交数据后从HTML表单收集数据,当用于传输数据的方法是“POST”时。
当表单使用方法post传输数据时,数据在查询字符串中不可见,即在此方法中保持安全级别。
下面我们就来看看如何使用$ _POST:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <div class="demo"> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> <label for="name">用户名: </label> <input name="name" type="text"><br> <label for="age">年龄: </label> <input name="age" type="number"><br> <input type="submit" value="提交"> </form> <?php $nm=$_POST['name']; $age=$_POST['age']; echo "<strong>姓名:".$nm.", ".$age."岁</strong>"; ?> </div> </body> </html>
在上面的代码中,我们创建了一个表单,该表单接受用户的名称和年龄,并在提交数据时使用$ _POST超级全局变量访问数据。
由于每个超全局变量都是一个数组,因此它可以存储多个值。因此,我们从$ _POST变量中检索名称和年龄,并将它们存储在$ nm和$ age变量中。
效果图:
$ _GET
$ _GET是一个超级全局变量,用于在提交数据后从HTML表单中收集数据。当表单使用“GET”方法获取传输数据时,数据在查询字符串中可见,因此不隐藏值。$ _GET超级全局数组变量存储URL中的值。
下面我们就来看看如何使用$ _GET:
<!DOCTYPE html> <html> <head> <title></title> </head> <body bgcolor="cyan"> <!--demonstration of $_GET--> <h1 id="font-nbsp-color-red-Historic-nbsp-Monument-font"><font color="red">Historic Monument</font></h1> <a href="picture.php?name=QutubMinar&city=Delhi"><img src="/static/imghw/default1.png" data-src="qutubminar.jpg" class="lazy" alt="Qutubminar" style="max-width:90%" style="max-width:90%"/></a> </body> </html>
我们实际上只看到了一半的逻辑,让我们理解上面的代码,然后看看其余的逻辑。
在上面的代码中,我们创建了一个QutubMinar的超链接图像,它将把我们带到picture.php页面,并带有参数名称=“QutubMinar”和city =“Delhi”。
也就是说,当我们点击QutubMinar的小图片时,我们将带到下一页picture.php以及参数。
由于默认方法是get,因此这些参数将使用get方法传递到下一页,它们将在地址栏中显示。
当我们想要将值传递给地址时,使用问号(?)将它们附加到地址。
然后将参数写为问号(?)后面的键值对,如以下语句中所指定:
<a href="picture.php?name=QutubMinar&city=Delhi"><img src="/static/imghw/default1.png" data-src="qutubminar.jpg" class="lazy" alt="Qutubminar" style="max-width:90%" style="max-width:90%"/></a>
这里的参数name = QutubMinar会附加到地址。
如果我们想要添加更多值,我们可以在每个键值对之后使用&符号(&)添加它们,类似于在name参数之后使用&符号添加city = Delhi。
现在,在点击QutubMinar的图像之后,我们希望显示picture.php页面,并显示参数值。
所以让我们在picture.php页面中为它编写代码。
<head> <title>QutubMinar</title> </head> <body bgcolor="cyan"> <?php $nm=$_GET['name']; $city=$_GET['city']; echo "<h1 id="nbsp-nbsp-nbsp-nbsp-nbsp-nbsp-nbsp-this-nbsp-is-nbsp-nm-nbsp-of-nbsp-city"> this is ".$nm." of ".$city."</h1><br><br>"; ?> <img src="/static/imghw/default1.png" data-src="qutubminar.jpg" class="lazy" alt="QutubMinar" style="max-width:90%" style="max-width:90%"/> </body> </html>
在这里,我们使用超全局数组变量$ _GET接收参数name和city的值,并分别存储在变量$ nm和$ city中。
然后使用echo语句显示它们。
QutubMinar的放大图像如下所示。
首先让我们看一下index.php页面运行时的输出。
现在,当我们点击QutubMinar的超链接图像时,我们得到以下输出:
$ _SESSION
$ _SESSION是一个预定义的超全局数组变量,用于记住用户的状态以及他想要在整个会话中检索的值。
以前,对服务器的每个请求都是单独的请求。HTML是一种无状态协议。这意味着它无法记住网站中用户访问的页面。但今天我们使用网站,用户可以让网站记住访问过的网页或之前做过的事情,例如购物网站。
会话(SESSION)的设计原因与此相同;会话可以记住用户登录到注销期间的所有操作。
$ _SESSION数组变量用于存储来自任何页面的值,并在任何其他页面中检索它们,而不在URL中传递它们。
在存储任何变量之前,使用session_start()声明启动会话。
$ _COOKIE
$ _COOKIE是一个超级全局数组变量,用于检索cookie的值。
Cookie是由服务器创建的用于标识用户的小文件。每当用户在互联网上请求某些信息时,该请求就会发送到服务器。如果用户第一次连接到该服务器,则服务器识别他的信息并创建具有给用户的标识号的小文件,并将其附加到发送给用户的响应并存储在用户的计算机中。
在此之后,每当用户向该服务器发送请求时,它都携带cookie文件,由此服务器发送响应而不再检查服务器认证。
$ _FILES
$ _FILES是一个超级全局数组变量,用于将上载文件的信息提供给服务器。我们可以检查上传的文件是否已成功上传;也可以使用$ _FILES变量检索文件的详细信息。
$ _ENV
$ _ENV有助于从Web服务器获取/访问环境变量。
PHP中的环境变量是允许脚本从服务器动态获取某些信息的变量。它支持在不断变化的服务器环境中的脚本灵活性。
使用$ _ENV访问任何环境变量的语法如下:
$_ENV[“variable_name”];
例如,我们可以访问temp_pwd变量,如下所示:
<?php echo “Temporary Password: ”.$_ENV[“temp_pwd”]; ?>
总结:
在这些超级全局数组变量中,变量$ _GET,$ _POST,$ _ SERVER,$ _SESSION被最多使用。$ _REQUEST变量可以执行$ _GET,$ _POST和$ _COOKIE的工作,但需要避免使用它,因为它可能导致安全问题。
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
위 내용은 PHP의 슈퍼 전역 변수는 무엇입니까? 사용하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

숙련된 PHP 개발자라면 이미 그런 일을 해왔다는 느낌을 받을 것입니다. 귀하는 상당한 수의 애플리케이션을 개발하고, 수백만 줄의 코드를 디버깅하고, 여러 스크립트를 수정하여 작업을 수행했습니다.

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다.
