PHP pembolehubah super global


Pembolehubah super global didayakan selepas PHP 4.1.0 Pembolehubah yang disertakan dengan sistem PHP dan tersedia dalam keseluruhan skop skrip.


Pembolehubah Super Global PHP

Beberapa superglobal dipratakrifkan dalam PHP, yang bermaksud ianya Tersedia dalam semua skop skrip. Anda boleh menggunakannya dalam fungsi dan kelas tanpa arahan khas.

Apakah pembolehubah super global dalam php?

Senarai pembolehubah super global PHP:

$GLOBALS

$_SERVER

$_REQUEST

$_POST

$_GET

$_FILES

$_ENV

$_COOKIE

$_SESSION

Dalam bab ini kami akan menerangkan tentang beberapa pembolehubah super global yang biasa digunakan, kami akan memperkenalkan pembolehubah yang tinggal dalam beberapa bab seterusnya.


PHP $GLOBALS

$GLOBALS ialah kumpulan pembolehubah super global PHP, dalam keseluruhan skop skrip PHP Semua boleh diakses.

$GLOBALS ialah tatasusunan gabungan global yang mengandungi semua pembolehubah. Nama pembolehubah ialah kunci tatasusunan.

Contoh berikut memperkenalkan cara menggunakan pembolehubah super global $GLOBALS:

Contoh

<?php 
$x = 75; 
$y = 25;
 
function addition() 
{ 
    $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
}
 
addition(); 
echo $z; 
?>

Dalam contoh di atas, z ialah pembolehubah super global dalam tatasusunan $GLOBALS , yang sama Boleh diakses di luar fungsi.


PHP $_SERVER

$_SERVER ialah fail yang mengandungi maklumat seperti pengepala, laluan dan skrip Susunan maklumat seperti lokasi skrip. Item dalam tatasusunan ini dicipta oleh pelayan web. Tiada jaminan bahawa setiap pelayan akan menawarkan semua item pelayan mungkin mengabaikan beberapa, atau menyediakan item yang tidak disenaraikan di sini.

Contoh berikut menunjukkan cara menggunakan elemen dalam $_SERVER:

Contoh

<?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'];
?>

Jadual berikut menyenaraikan semua elemen penting dalam pembolehubah $_SERVER:

Elemen/KodPenerangan
$_SERVER['PHP_SELF']Sedang melaksanakan skrip Nama fail berkaitan dengan akar dokumen. Contohnya, menggunakan $_SERVER['PHP_SELF'] dalam skrip di http://example.com/test.php/foo.bar akan menghasilkan /test.php/foo.bar. Pemalar __FILE__ mengandungi laluan penuh dan nama fail fail semasa (iaitu mengandungi). Bermula dengan PHP versi 4.3.0, pembolehubah ini akan mengandungi nama skrip jika PHP berjalan dalam mod baris arahan. Pembolehubah ini tidak tersedia dalam versi sebelumnya.
$_SERVER['GATEWAY_INTERFACE']Versi spesifikasi CGI yang digunakan oleh pelayan sebagai contoh, "CGI/1.1".
$_SERVER['SERVER_ADDR']Alamat IP pelayan tempat skrip sedang dijalankan.
$_SERVER['SERVER_NAME']Nama hos pelayan tempat skrip sedang dijalankan. Jika skrip berjalan pada hos maya, nama ditentukan oleh nilai yang ditetapkan untuk hos maya tersebut. (Contohnya: www.php.cn)
$_SERVER['SERVER_SOFTWARE']Rentetan pengenalan pelayan diberikan dalam maklumat pengepala apabila membalas permintaan . (Contohnya: Apache/2.2.24)
$_SERVER['SERVER_PROTOCOL']Nama dan versi protokol komunikasi apabila meminta halaman. Contohnya, "HTTP/1.0".
$_SERVER['REQUEST_METHOD']Kaedah permintaan yang digunakan untuk mengakses halaman sebagai contoh, "GET", "HEAD", "POST", " LETAK".
$_SERVER['REQUEST_TIME']Cap masa apabila permintaan bermula. Tersedia sejak PHP 5.1.0.(Contohnya: 1377687496)
$_SERVER['QUERY_STRING']rentetan pertanyaan (rentetan pertanyaan), jika ada, melalui mana akses halaman dilakukan.
$_SERVER['HTTP_ACCEPT']Kandungan item Accept: dalam pengepala permintaan semasa, jika ia wujud.
$_SERVER['HTTP_ACCEPT_CHARSET']Kandungan Accept-Charset: item dalam pengepala permintaan semasa, jika ia wujud. Contohnya: "iso-8859-1,*,utf-8".
$_SERVER['HTTP_HOST']Kandungan Hos: item dalam pengepala permintaan semasa, jika ia wujud.
$_SERVER['HTTP_REFERER']Mengarahkan ejen pengguna ke alamat halaman sebelum halaman semasa, jika ada. Ditentukan oleh tetapan ejen pengguna. Tidak semua ejen pengguna akan menetapkan item ini, dan beberapa juga menyediakan fungsi mengubah suai HTTP_REFERER. Pendek kata, nilainya tidak boleh dipercayai. )
$_SERVER['HTTPS']Tetapkan kepada nilai bukan kosong jika skrip diakses melalui protokol HTTPS.
$_SERVER['REMOTE_ADDR']Alamat IP pengguna yang menyemak imbas halaman semasa.
$_SERVER['REMOTE_HOST']Nama hos pengguna yang menyemak imbas halaman semasa. Resolusi terbalik DNS tidak bergantung pada REMOTE_ADDR pengguna.
$_SERVER['REMOTE_PORT']Nombor port yang digunakan pada mesin pengguna untuk menyambung ke pelayan web.
$_SERVER['SCRIPT_FILENAME']Laluan mutlak skrip yang sedang dilaksanakan.
$_SERVER['SERVER_ADMIN']Nilai ini menentukan parameter SERVER_ADMIN dalam fail konfigurasi pelayan Apache. Jika skrip berjalan pada hos maya, nilai ini adalah nilai hos maya itu. (cth: seseorang@php.cn)
$_SERVER['SERVER_PORT']Web 服务器使用的端口。默认值为 "80"。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。
$_SERVER['SERVER_SIGNATURE']包含了服务器版本和虚拟主机名的字符串。
$_SERVER['PATH_TRANSLATED']当前脚本所在文件系统(非文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。
$_SERVER['SCRIPT_NAME']包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 常量包含当前脚本(例如包含文件)的完整路径和文件名。
$_SERVER['SCRIPT_URI']URI 用来指定要访问的页面。例如 "/index.html"。
$_SERVER['SERVER_PORT']<🎜><🎜>Port yang digunakan oleh pelayan web. Nilai lalai ialah "80". Jika menggunakan sambungan selamat SSL, nilai ini ialah port HTTP yang ditetapkan oleh pengguna. <🎜><🎜><🎜><🎜>$_SERVER['SERVER_SIGNATURE']<🎜><🎜>Rentetan yang mengandungi versi pelayan dan nama hos maya. <🎜><🎜><🎜>$_SERVER['PATH_TRANSLATED']<🎜><🎜>Sistem fail (direktori akar bukan dokumen) di mana skrip semasa terletak laluan asas. Ini adalah hasil selepas pelayan telah diimejkan daripada laluan maya kepada sebenar. <🎜><🎜><🎜><🎜>$_SERVER['SCRIPT_NAME']<🎜><🎜>Mengandungi laluan ke skrip semasa. Ini berguna apabila halaman perlu menghala ke dirinya sendiri. Pemalar __FILE__ mengandungi laluan penuh dan nama fail skrip semasa (seperti fail sertakan). <🎜><🎜>$_SERVER['SCRIPT_URI']<🎜>URI digunakan untuk menentukan halaman untuk boleh diakses. Contohnya "/index.html". <🎜><🎜><🎜><🎜>



PHP $_REQUEST

PHP $_REQUEST digunakan untuk mengumpul HTML borang Data yang diserahkan.

Contoh berikut menunjukkan borang dengan medan input dan butang hantar. Apabila pengguna menyerahkan data borang dengan mengklik butang "Serah", data borang dihantar ke fail skrip yang dinyatakan dalam atribut tindakan teg <form> Dalam contoh ini, kami menentukan fail untuk memproses data borang. Jika anda mahukan fail PHP lain untuk mengendalikan data ini, anda boleh mengubah suai nama fail skrip yang ditentukan. Kemudian, kita boleh menggunakan pembolehubah super global $_REQUEST untuk mengumpul data medan input dalam bentuk:

Instance

<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>

<?php 
$name = $_REQUEST['fname']; 
echo $name; 
?>

</body>
</html>

PHP $_POST

PHP $_POST digunakan secara meluas untuk mengumpul data borang Tentukan atribut ini dalam teg borang HTML: "method="post".

Contoh berikut menunjukkan medan input (. input) dan butang hantar (borang). Apabila pengguna menyerahkan data borang dengan mengklik butang "Serah", data borang akan dihantar ke fail skrip yang dinyatakan dalam atribut tindakan teg <form> untuk memproses data borang. Jika anda mahu fail PHP lain memproses data, anda boleh mengubah suai nama fail skrip yang ditentukan Kemudian, kami boleh menggunakan pembolehubah super global $_POST untuk mengumpul data medan input dalam borang:

Instance

<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>

PHP $_GET

PHP $_GET juga digunakan secara meluas untuk mengumpul data borang dalam HTML Nyatakan ini atribut teg borang: "method="get".

$_GET juga boleh mengumpul data yang dihantar dalam URL.

Andaikan kami mempunyai halaman HTML hiperpautan yang mengandungi parameter:

<html>
<body>
<a href="test_get.php?subject=PHP&web=runoob.com">Test $GET</a>
</body>
</html>

Apabila pengguna mengklik pada pautan "Uji $GET", parameter "subjek" dan "web" akan dihantar ke " test_get.php ", Anda boleh menggunakan pembolehubah $_GET dalam fail "test_get.php" untuk mendapatkan data ini.

Contoh berikut menunjukkan kod fail "test_get.php":

Contoh

<html>
<body>

<?php 
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>

</body>
</html>

Petua: Jika anda ingin mengetahui lebih lanjut tentang $_POST dan $_GET, Sila lawati bahagian Borang PHP kami.