Pembolehubah persekitaran Php. Semua yang anda perlu tahu tentang pembolehubah persekitaran dalam Terjemahan PHP. Pembolehubah persekitaran sentiasa rentetan

Apabila penyemak imbas meminta dokumen daripada pelayan web, ia juga menghantar maklumat teknikal tentang parameter penyemak imbas dan sistem pengendalian tertentu kepada pelayan. Pelayan web, seterusnya, mengembalikan beberapa cirinya serentak dengan dokumen. Oleh itu, pelayar dan pelayan web bertukar data yang dipanggil pembolehubah persekitaran. Anda boleh menggunakan pembolehubah ini untuk tujuan anda sendiri dan memaparkannya pada halaman web.

Apabila menggunakan SSI, sintaks umum untuk memaparkan pembolehubah persekitaran tertentu adalah seperti berikut.

Beberapa pembolehubah dengan penerangannya disenaraikan dalam jadual. 1. Sila ambil perhatian bahawa semua nama ditulis dalam huruf besar. Walaupun syarat ini tidak perlu, bentuk rakaman ini adalah tradisional dan mantap.

Jadual 1. Senarai pembolehubah persekitaran
Pembolehubah Penerangan
DOCUMENT_ROOT Laluan ke folder akar tapak. Untuk pelayan web tempatan, nilai mungkin dalam bentuk z:/home/site/www, dan dalam kes lain ia bergantung pada sistem pengendalian pelayan dan perisian yang digunakan.
GATEWAY_INTERFACE Versi CGI (Antara Muka Gerbang Biasa, antara muka get laluan biasa). Nilai biasanya CGI/1.1.
HTTP_ACCEPT Jenis fail yang boleh diterima oleh penyemak imbas. Nilai yang dikembalikan ialah senarai jenis MIME yang disokong dipisahkan dengan koma, contohnya: teks/html, aplikasi/xhtml+xml.
HTTP_CONNECTION Jenis sambungan antara penyemak imbas dan pelayan web. Jadi, nilai keep-alive bermakna penyemak imbas mengekalkan sambungan berterusan dengan pelayan. Dalam kes ini, beberapa permintaan dibenarkan dibuat semasa satu sesi sambungan. Dalam kes ini, penyambungan semula tidak lagi berlaku.
HTTP_HOST Nama domain tapak web. Biasanya, nama dengan awalan www (www..ru) dibezakan. Pembolehubah akan mengembalikan alamat tapak yang ditunjukkan dalam bar alamat penyemak imbas.
HTTP_REFERER Alamat halaman dari mana pengguna datang ke tapak ini, juga dipanggil perujuk.
HTTP_USER_AGENT

Pengecam pelayar dan sistem pengendalian yang digunakan. Nilai yang dikembalikan ialah rentetan yang mengandungi kata kunci. Sebagai contoh, baris berikut

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2

mengatakan bahawa pengguna menggunakan pelayar Firefox 6.0.2 di bawah sistem pengendalian Windows 7.

QUERY_STRING Pertanyaan yang muncul dalam bar alamat selepas tanda soal (?). Biasanya ditulis dalam bentuk "pembolehubah=nilai", di mana pembolehubah dipisahkan oleh ampersand (&).?id=5&slv=34 nilai id=5&slv=34 akan dikembalikan.
REMOTE_ADDR Alamat IP pelawat tapak.
REQUEST_METHOD Kaedah untuk menghantar data ke pelayan. Kaedah lalai ialah GET.
REQUEST_URI Alamat dokumen yang diminta. Kira detik adalah daripada akar tapak, iaitu .html akan mengembalikan nilai 1.html .
SERVER_ADDR Alamat IP komputer tempat tapak dihoskan.
SERVER_ADMIN Alamat e-mel pentadbir tapak.
NAMA PELAYAN Nama pelayan.
SERVER_PORT Pelabuhan di mana data dijangka diterima.
SERVER_PROTOCOL Protokol untuk menerima dan menghantar data. Nilai biasanya HTTP/1.1.
SERVER_SOFTWARE Perisian yang dipasang pada pelayan. Untuk pelayan web Apache, nombor versi (Apache/2.2.4) dikembalikan, serta versi PHP (PHP/5.3.3).

Contoh 1 menunjukkan cara menggunakan pembolehubah persekitaran untuk memaparkan maklumat yang diperlukan pada halaman web.

Contoh 1. Memaparkan nilai pembolehubah DOCUMENT_ROOT

SSI

Laluan ke folder akar tapak:



Hasil daripada menjalankan contoh, baris berikut akan dikeluarkan: Laluan ke folder akar tapak: /home/site/www.

Nilai pembolehubah persekitaran boleh dilihat menggunakan program PHP menggunakan fungsi phpinfo(), seperti yang ditunjukkan dalam Contoh 2.

Contoh 2: Menggunakan phpinfo()

Hasil daripada melaksanakan program, jadual akan dipaparkan dengan pelbagai parameter, termasuk pembolehubah persekitaran dalam bahagian "Persekitaran Apache" (Rajah 1).

nasi. 1. Persekitaran Apache

Anda juga boleh menulis program dalam PHP yang akan memaparkan semua pembolehubah persekitaran dalam bentuk jadual (contoh 3)..

Contoh 3: Memaparkan pembolehubah persekitaran

\n \n \n \n"; cetak "

\n"; foreach ($_SERVER sebagai $a => $b) cetak " \n"; cetak "
$a$b
\n"; cetak "

\n\n"; ?>

Pembolehubah

Dalam PHP, pembolehubah bermula dengan tanda dolar ( $ ). Aksara ini boleh diikuti oleh sebarang bilangan aksara alfanumerik dan garis bawah, tetapi aksara pertama tidak boleh menjadi angka atau garis bawah. Anda juga harus ingat bahawa nama pembolehubah dalam PHP adalah sensitif huruf besar-besaran, tidak seperti kata kunci.

Apabila mengisytiharkan pembolehubah dalam PHP, tidak perlu menunjukkan jenis pembolehubah secara eksplisit; namun, pembolehubah yang sama boleh mempunyai jenis yang berbeza sepanjang program.

Pembolehubah dimulakan apabila nilai diberikan kepadanya dan wujud selagi program itu dilaksanakan. Iaitu, dalam kes halaman web, ini bermakna sehingga permintaan itu selesai.

Pembolehubah Luaran

Selepas permintaan pelanggan dihuraikan oleh pelayan web dan dihantar ke mesin PHP, yang terakhir menetapkan beberapa pembolehubah yang mengandungi data yang berkaitan dengan permintaan dan tersedia sepanjang pelaksanaannya. PHP pertama mengambil pembolehubah persekitaran sistem anda dan mencipta pembolehubah dengan nama dan nilai yang sama dalam persekitaran skrip PHP supaya skrip yang terletak pada pelayan boleh mengakses ciri sistem klien. Pembolehubah ini diletakkan dalam tatasusunan bersekutu $HTTP_ENV_VARS(Anda boleh mengetahui lebih lanjut tentang tatasusunan dalam Bab 4).

Sememangnya, pembolehubah tatasusunan $HTTP_ENV_VARS adalah bergantung kepada sistem (kerana ia sebenarnya pembolehubah persekitaran). Anda boleh melihat nilai pembolehubah persekitaran untuk mesin anda menggunakan perintah env (Unix) atau set (Windows).

PHP kemudian mencipta sekumpulan pembolehubah GET yang dibuat apabila rentetan pertanyaan dihuraikan. Rentetan pertanyaan disimpan dalam pembolehubah $QUERY_STRING dan mewakili maklumat mengikut simbol " ? " dalam URL yang diminta. PHP memecahkan rentetan pertanyaan aksara demi aksara & ke dalam elemen individu, dan kemudian cari tanda "=" dalam setiap elemen tersebut. Jika tanda "=" ditemui, pembolehubah dicipta dengan nama daripada aksara di sebelah kiri tanda sama. Pertimbangkan bentuk berikut:

tindakan = "http://localhost/PHP/test.php" kaedah=" dapatkan">HDD: taip=" teks"nama=" HDD"/>
CDROM: taip=" teks"nama=" CDROM"/>
taip=" menyerahkan"/>

Jika dalam borang ini anda menaip, sebagai contoh, "Maxtor" dalam baris HDD dan "Nec" dalam baris CDROM, ia akan menjana borang permintaan berikut:

http://localhost/PHP/test.php?HDD=Maxtor&CDROM=Nec

Dalam kes kami, PHP akan mencipta pembolehubah berikut: $HDD= "Maxtor" dan $CDROM= "Nec".

Anda boleh bekerja dengan pembolehubah ini daripada skrip anda (kami menggunakan test.php) seperti pembolehubah biasa. Dalam kes kami, ia hanya dipaparkan pada skrin:

bergema("

HDD ialah $HDD

"); bergema("

CDROM ialah $CDROM

"); ?>

Jika permintaan halaman dibuat menggunakan kaedah POST, maka sekumpulan pembolehubah POST muncul, yang juga ditafsirkan dan diletakkan dalam tatasusunan $HTTP_POST_VARS.

Sejurus sebelum memulakan skrip, pelayan menghantar beberapa pembolehubah persekitaran dengan maklumat. Pembolehubah tertentu mengandungi beberapa pengepala, tetapi bukan semua (anda tidak boleh mendapatkan semua pengepala).

HTTP_ACCEPT- Pembolehubah ini menyenaraikan semua jenis data MIME yang boleh diterima oleh penyemak imbas. Baris */* bermaksud pelayar memahami sebarang jenis.

HTTP_ACCEPT= */*

HTTP_REFERER- Pembolehubah ini mewakili maklumat tentang halaman dari mana pengguna datang ke halaman ini. Anda boleh menggunakan pembolehubah ini, sebagai contoh, untuk menjejaki pergerakan pengguna di sekitar tapak anda dan kemudian melihat laluan paling popular.

HTTP_REFERER= http://www.spravkaweb.ru/

HTTP_COOKIE- Pembolehubah ini menyimpan semua Kuki yang dikodkan URL.

HTTP_COOKIE=

HTTP_USER_AGENT- Mengenal pasti pelayar pengguna. Untuk menubuhkan jenis penyemak imbas, anda perlu menyemak baris ini untuk kehadiran perkataan: jika penyemak imbas adalah Internet Explorer, maka subrentetan MSIE akan hadir, dan jika hanya perkataan Mozilla hadir, maka ini ialah Netscape.

HTTP_USER_AGENT= Mozilla/4.0 (serasi; MSIE 5.0; Windows NT 4.0)

Anda mempunyai Internet Explorer

HTTP_HOST- Mengandungi nama domain pelayan Web di mana skrip dijalankan. Pembolehubah ini agak mudah digunakan, sebagai contoh, untuk menjana laluan penuh, yang diperlukan dalam pengepala Lokasi, supaya tidak terikat pada pelayan tertentu.

HTTP_HOST= www.spravkaweb.ru

HTTP_FROM- Alamat e-mel pengguna yang menghantar permintaan.

HTTP_FROM=

NAMA PELAYAN- Nama domain atau alamat IP pelayan.

SERVER_NAME= www.spravkaweb.ru

SERVER_SOFTWARE- Nama dan versi program pelayan yang bertindak balas kepada permintaan pelanggan.

SERVER_SOFTWARE= Apache/1.3.33 (Unix) mod_jk/1.2.8 mod_auth_passthrough/1.8 mod_log_bytes/1.2mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_ssl/2.8.22 OpenSSL/0.9.7a PHP-CGI/0.

SERVER_PORT- Pembolehubah ini mengandungi port pelayan yang diakses oleh penyemak imbas pengguna. Biasanya ini ialah 80. Pembolehubah juga boleh digunakan untuk membentuk parameter pengepala Lokasi.

SERVER_PORT= 80

SERVER_PROTOCOL- Pembolehubah mengandungi nama dan versi protokol maklumat yang digunakan untuk permintaan.

SERVER_PROTOCOL= HTTP/1.0

REMOTE_ADDR- Pembolehubah ini mengandungi alamat IP (atau nama domain) hos pengguna di mana penyemak imbas dilancarkan.

REMOTE_ADDR= 212.94.114.177

REMOTE_PORT- Port yang diperuntukkan kepada pelayar pengguna untuk menerima respons pelayan.

REMOTE_PORT= 4277

REMOTE_USER- Nama pengenalan pengguna yang menghantar permintaan.

REMOTE_USER=

SCRIPT_NAME- Mengandungi nama fail yang mengandungi skrip ini. Pembolehubah ini mudah digunakan semasa membentuk pengepala Lokasi semasa mengubah hala kepada diri sendiri (ubah hala kendiri), serta untuk menggantikan nilai atribut tindakan teg pada halaman yang dipanggil skrip apabila dilancarkan tanpa parameter (agar tidak terikat pada nama skrip tertentu).

SCRIPT_NAME=/pril.php

DOCUMENT_ROOT- Direktori akar pokok dokumen Web.

DOCUMENT_ROOT=/home/spravka/public_html

REQUEST_METHOD- Kaedah yang digunakan pengguna semasa memindahkan data. Perlu diingatkan bahawa skrip yang ditulis dengan baik harus sendiri menentukan, berdasarkan pembolehubah ini, kaedah yang digunakan oleh pengguna, dan menerima data daripada sumber yang sesuai, dan tidak mengharapkan pemindahan akan dijalankan, contohnya, hanya dengan kaedah POST.

REQUEST_METHOD= DAPATKAN

QUERY_STRING- Mengandungi parameter yang muncul selepas tanda soal dalam URL. Biar kami ingatkan anda bahawa ia tersedia dengan kaedah GET dan dengan kaedah POST (jika dalam kes kedua ia ditakrifkan dalam atribut tindakan teg ).

QUERY_STRING= ss=getenv

PATH_INFO- Mengandungi maklumat tambahan tentang laluan.

PATH_INFO=

PATH_TRANSLED- Maklumat yang sama seperti dalam pembolehubah PATH_INFO dengan awalan yang menentukan laluan ke direktori akar pepohon dokumen Web.

PATH_TRANSLATED=

JENIS KANDUNGAN- Jenis data media permintaan.

CONTENT_TYPE=

CONTENT_LENGTH- Mengembalikan bilangan bait data yang dihantar oleh pengguna. Pembolehubah ini perlu dianalisis jika anda menerima dan memproses borang POST.

GATEWAY_INTERFACE- Versi CGI yang digunakan oleh pelayan.

GATEWAY_INTERFACE= CGI/1.1


Pembolehubah Persekitaran

Pembolehubah Persekitaran:




echo "Anda datang dari: ".getenv("HTTP_REFERER")."
";
$br=getenv("HTTP_USER_AGENT");
if(strpos($br,"MSIE")!==false) echo "Anda mempunyai Internet Explorer
";
else echo "Anda mempunyai Netscape atau lain-lain.
";
echo "IP anda: ".getenv("REMOTE_ADDR")."
";
echo "Berikut ialah parameter dalam baris penyemak imbas: ".getenv("QUERY_STRING");
?>



Pembolehubah Persekitaran

Pembolehubah Persekitaran dalam PHP

Sejurus sebelum memulakan skrip, pelayan menghantar beberapa pembolehubah persekitaran dengan maklumat. Pembolehubah tertentu mengandungi beberapa pengepala, tetapi bukan semua (anda tidak boleh mendapatkan semua pengepala). Di bawah saya akan menyediakan senarai pembolehubah persekitaran yang paling penting.

HTTP_ACCEPT

Pembolehubah ini menyenaraikan semua jenis data MIME, yang boleh ditafsirkan oleh penyemak imbas. Baris */* bermaksud pelayar memahami sebarang jenis.

HTTP_ACCEPT= image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*

HTTP_REFERER

Pembolehubah ini mewakili maklumat tentang halaman dari mana pengguna tiba di halaman ini. Anda boleh menggunakan pembolehubah ini, sebagai contoh, untuk menjejaki pergerakan pengguna di sekitar tapak anda dan kemudian melihat laluan paling popular.

HTTP_REFERER= http://www.spravkaweb.ru/php/pril/

HTTP_COOKIE

Pembolehubah ini menyimpan semua Kuki yang dikodkan URL.

HTTP_COOKIE= hotlog=1; ZDEDebuggerPresent=php,phtml,php3; b=b; PHPSESSID=16805922a9258cda274316e60f649cf8

HTTP_USER_AGENT

Mengenal pasti pelayar pengguna. Untuk menubuhkan jenis penyemak imbas, anda perlu menyemak baris ini untuk kehadiran perkataan: jika penyemak imbas adalah Internet Explorer, maka subrentetan MSIE akan hadir, dan jika hanya perkataan Mozilla hadir, maka ini ialah Netscape.

Sebagai contoh:

HTTP_USER_AGENT= Mozilla/4.0 (serasi; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; Maxthon)

HTTP_HOST

Mengandungi nama domain pelayan Web di mana skrip dijalankan. Pembolehubah ini agak mudah digunakan, sebagai contoh, untuk menjana laluan penuh, yang diperlukan dalam pengepala Lokasi, supaya tidak terikat pada pelayan tertentu.

HTTP_HOST= www.spravkaweb.ru

HTTP_FROM

Alamat e-mel pengguna yang menghantar permintaan.

NAMA PELAYAN

Nama domain atau alamat IP pelayan.

SERVER_NAME= www.spravkaweb.ru

SERVER_SOFTWARE

Nama dan versi program pelayan yang bertindak balas kepada permintaan pelanggan.

SERVER_PORT

Pembolehubah ini mengandungi port pelayan yang diakses oleh penyemak imbas pengguna. Biasanya ini ialah 80. Pembolehubah juga boleh digunakan untuk membentuk parameter pengepala Lokasi.

SERVER_PROTOCOL

Pembolehubah mengandungi nama dan versi protokol maklumat yang digunakan untuk permintaan.

SERVER_PROTOCOL= HTTP/1.1

REMOTE_ADDR

Pembolehubah ini mengandungi alamat IP (atau nama domain) hos pengguna tempat penyemak imbas dilancarkan.

REMOTE_PORT

Port yang diperuntukkan kepada pelayar pengguna untuk menerima respons pelayan.

REMOTE_USER

Nama pengenalan pengguna yang membuat permintaan.

SCRIPT_NAME

Mengandungi nama fail yang mengandungi skrip ini. Pembolehubah ini mudah digunakan semasa membentuk pengepala Lokasi semasa mengubah hala kepada diri sendiri (ubah hala kendiri), serta untuk menggantikan nilai atribut tindakan teg pada halaman yang dipanggil skrip apabila dilancarkan tanpa parameter (agar tidak terikat pada nama skrip tertentu).

DOCUMENT_ROOT

Direktori akar pokok dokumen Web.

REQUEST_METHOD

Kaedah yang digunakan pengguna semasa memindahkan data. Perlu diingatkan bahawa skrip yang ditulis dengan baik harus sendiri menentukan, berdasarkan pembolehubah ini, kaedah yang digunakan oleh pengguna, dan menerima data daripada sumber yang sesuai, dan tidak mengharapkan pemindahan akan dijalankan, contohnya, hanya dengan kaedah POST.

QUERY_STRING

Mengandungi parameter yang muncul selepas tanda soal dalam URL. Biar kami ingatkan anda bahawa ia tersedia dengan kaedah GET dan dengan kaedah POST (jika dalam kes kedua ia ditakrifkan dalam atribut tindakan teg ).

PATH_INFO

Mengandungi maklumat tambahan tentang laluan.

PATH_TRANSLED

Maklumat yang sama seperti dalam pembolehubah PATH_INFO dengan awalan yang menentukan laluan ke direktori akar pepohon dokumen Web.

JENIS KANDUNGAN

Jenis data media permintaan.

CONTENT_LENGTH

Mengembalikan bilangan bait data yang dihantar oleh pengguna. Pembolehubah ini perlu dianalisis jika anda menerima dan memproses borang POST.

GATEWAY_INTERFACE

Versi CGI yang digunakan oleh pelayan.

Contoh penggunaan pembolehubah persekitaran

Pembolehubah Persekitaran

Pembolehubah Persekitaran:

echo "Anda datang dari: ".getenv("HTTP_REFERER")."
";

$br=getenv("HTTP_USER_AGENT");

if(strpos($br,"MSIE")!==false) echo "Anda mempunyai Internet Explorer
";

else echo "Anda mempunyai Netscape atau lain-lain.
";

echo "IP anda: ".getenv("REMOTE_ADDR")."
";

echo "Berikut ialah parameter dalam baris penyemak imbas: ".getenv("QUERY_STRING");

Daripada buku The Art of Programming for Unix pengarang Raymond Eric Stephen

Daripada buku The Art of Programming for Unix pengarang Raymond Eric Stephen

Dari buku Pengaturcaraan dalam Ruby [Ideologi bahasa, teori dan amalan aplikasi] oleh Fulton Hal

Daripada buku HTML 5, CSS 3 dan Web 2.0. Pembangunan laman web moden. pengarang Dronov Vladimir

Daripada buku Application Development in the Linux Environment. Edisi kedua pengarang Johnson Michael K.

10.4. Pembolehubah Persekitaran Apabila program Unix dijalankan, persekitaran yang tersedia untuknya termasuk satu set perhubungan nama-nilai (kedua-dua nama dan nilai adalah rentetan). Sebahagian daripada mereka dipasang secara manual oleh pengguna, yang lain dipasang oleh sistem semasa

Daripada buku PANDUAN PEMBANGUN PANGKALAN DATA Firebird oleh Borri Helen

10.4.1. Pembolehubah Persekitaran Sistem Terdapat banyak pembolehubah persekitaran yang terkenal yang boleh diperolehi oleh program apabila dijalankan daripada cangkerang Unix. Pembolehubah ini (terutama HOME) selalunya perlu dinilai sebelum membaca fail setempat

Daripada buku Pengaturcaraan Linux dengan Contoh pengarang Robbins Arnold

10.4.2. Pembolehubah Persekitaran Tersuai Walaupun aplikasi bebas mentafsir pembolehubah persekitaran di luar set yang ditentukan sistem, penggunaan sebenar ciri sedemikian pada masa ini agak luar biasa.

Dari buku pengarang

10.4.3. Bila Perlu Menggunakan Pembolehubah Persekitaran Apa yang sama antara pembolehubah persekitaran pengguna dan sistem ialah ia mengandungi data yang membosankan untuk disimpan dalam sejumlah besar fail konfigurasi. Dan amat memenatkan

Dari buku pengarang

14.4. Pembolehubah Persekitaran Kadangkala adalah perlu untuk mengakses pembolehubah persekitaran, yang merupakan penghubung antara program dan dunia luar. Pembolehubah persekitaran hanyalah label yang dikaitkan dengan beberapa teks (biasanya kecil); mereka menyimpan, sebagai contoh, laluan ke

Dari buku pengarang

Fungsi dan pembolehubah. Pembolehubah Tempatan Fungsi yang diisytiharkan sebelum ini mencipta pembolehubah mereka sendiri dalam badan mereka. Ini adalah apa yang dipanggil pembolehubah tempatan. Pembolehubah sedemikian hanya boleh diakses dalam badan fungsi di mana ia diisytiharkan. Apabila pelaksanaan selesai

Dari buku pengarang

22.3.3. Pembolehubah Persekitaran Dalam program yang menggunakan keupayaan setuid atau setgid, penjagaan khas mesti diambil dengan tetapan persekitaran. Pembolehubah ini ditentukan oleh pengguna yang mengaktifkan program, dengan itu membuka pintu untuk serangan. Serangan yang paling jelas

Dari buku pengarang

Pembolehubah persekitaran Pembolehubah persekitaran ialah tetapan sistem global yang digunakan apabila sistem pengendalian mula-mula but. Pada Windows, Linux dan kebanyakan sistem UNIX, pelayan Firebird mengecam dan menggunakan pembolehubah persekitaran tertentu jika ia

Dari buku pengarang

Di mana Pembolehubah Persekitaran Windows DitetapkanJenis pembolehubah persekitaran dan cara ia ditetapkan berbeza dari satu versi Windows ke versi yang lain. Dalam jadual Jadual 3.1 menunjukkan jenis (jika berkenaan) dan kaedah menetapkan nilai pembolehubah persekitaran. Jadual 3.1. Tetapan pembolehubah persekitaran untuk

Dari buku pengarang

Bab 2 Argumen, Pilihan dan Pembolehubah Persekitaran Tugas pertama mana-mana atur cara biasanya untuk mentafsir pilihan baris arahan dan hujah. Bab ini mengkaji cara program C (dan C++) menerima hujah baris arahan mereka, menerangkan standard