آموزش متغیر SERVER_$ در php

Ratings
(0)

 

متغیرهای سراسری(جهانی) متغیرهایی هستند که در تمام میدان های دید(scope) در دسترس هستند.


متغیر سراسری SERVER_$ در PHP

SERVER_$ یک متغیر سراسری در PHP هست که حاوی اطلاعاتی درباره ی هدرها(headers)، مسیرها(path) و مکان های اسکریپت است. در مثال زیر، نحوه ی استفاده از برخی عناصر در متغیر SERVER_$ را مشاهده می کنید:

<!DOCTYPE html>
<html>
<body>

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

</body>
</html>

 خروجی:

/demo/demo_global_server.php
35.194.26.41
35.194.26.41
https://tryphp.w3schools.com/showphp.php?filename=demo_global_server
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36
/demo/demo_global_server.php 

 در جدول زیر، لیست المان مهمی که می توانند در داخل متغیر SERVER_$ مورد استفاده قرار بگیرند را مشاهده می کنید:

المان توضیحات
$_SERVER['PHP_SELF']

این المان نام فایل اسکریپتی که در حال حاضر در حال اجرا است را برمی گرداند.

$_SERVER['GATEWAY_INTERFACE']

این المان، ورژن Common Gateway Interface (CGI) که سروردر حال استفاده است را برمی گرداند.

$_SERVER['SERVER_ADDR']

این المان آدرس آی پی(IP address) سرور هاست را برمی گرداند.

$_SERVER['SERVER_NAME']

این المان نام سرور هاست (مثلا www.sina2.ir) را برمی گرداند.

$_SERVER['SERVER_SOFTWARE']

این المان، رشته ی شناسایی سرور(مثل Apache/2.2.24 ) را برمی گرداند.

$_SERVER['SERVER_PROTOCOL']

این المان، نام و نسخه ی پروتکل اطلاعات را برمی گرداند(مثل HTTP/1.1).

$_SERVER['REQUEST_METHOD']

این المان متد درخواستی(request method) که از آن برای دسترسی به صفحه(مانند متد POST) استفاده می شود را برمی گرداند.

$_SERVER['REQUEST_TIME']

این المان برچسب زمانی(timestamp) شروع درخواست(request) مانند 1377687496 را برمی گرداند.

$_SERVER['QUERY_STRING']

 این المان، اگر صفحه توسط یک رشته ی کوئری(query string) در دسترس باشد، رشته ی کوئری را برمی گرداند.

$_SERVER['HTTP_ACCEPT']

 این المان هدر Accept را از درخواست(request) فعلی برمی گرداند.

$_SERVER['HTTP_ACCEPT_CHARSET']

 این المان، هدر Accept_Charset را از درخواست فعلی برمی گرداند. مانند utf-8 و ISO-8859-1.

$_SERVER['HTTP_HOST']

 این المان، هدر Host را از درخواست فعلی برمی گرداند.

$_SERVER['HTTP_REFERER']

 این المان، URL کامل را از صفحه ی فعلی برمی گرداند( نامعتبر است، زیرا تمامuser-agent ها از آن پشتیبانی نمی کنند.

$_SERVER['HTTPS']

 بررسی اینکه آیا اسکریپت با یک پروتکل امن HTTP کلید خورده است؟

$_SERVER['REMOTE_ADDR']

 آدرس IP را از جایی که کاربر در حال مشاهده ی صفحه ی فعلی است را برمی گرداند.

$_SERVER['REMOTE_HOST']

 نام هاست را از جایی که کاربر در حال مشاهده ی صفحه ی فعلی است را برمی گرداند.

$_SERVER['REMOTE_PORT']

 پورتی که بر روی دستگاه کاربر برای ارتباط با وب سرور مورد استفاده قرار گرفته است را برمی گرداند.

$_SERVER['SCRIPT_FILENAME']

 نام مسیر کامل(absolute pathname) اسکریپتی که در حال حاضر در حال اجرا است را برمی گرداند.

$_SERVER['SERVER_ADMIN']

 این المان، مقدار داده شده به دستور SERVER_ADMIN در فایل پیکربندی(configuration) وب سرور را برمی گرداند. (اگر اسکریپت شما بر روی یک هاست مجازی(virtual host) قرار دارد، این مقدار برای آن هاست مجازی تعریف خواهد شد. )(مثل این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید)

$_SERVER['SERVER_PORT']

 این المان، پورتی که دستگاه سرور(server machine) روی آن قرار دارد و توسط وب سرور برای ارتباطات مورد استفاده قرار می گیرد را برمی گرداند(مثل 80).

$_SERVER['SERVER_SIGNATURE']

 این المان، ورژن سرور و هاست مجازی که در صفحات تولید شده توسط سروراضافه شده اند را برمی گرداند.

$_SERVER['PATH_TRANSLATED']

 این المان، مسیر مبتنی بر فایل سیستم(file system based path) در اسکریپت فعلی را برمی گرداند. 

$_SERVER['SCRIPT_NAME']

 مسیر اسکریپت فعلی را برمی گرداند.

$_SERVER['SCRIPT_URI']

 این المان، URI صفحه ی فعلی را برمی گرداند.

  {module کمک نقدی به نویسنده}

  • بازدید: 754

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال