برای دریافت URL صفحه فعلی، PHP یک متغیر superglobal به نام $_SERVER ارائه می دهد. $_SERVER یک متغیر داخلی PHP است که برای دریافت URL صفحه فعلی استفاده می شود. این متغیر یک متغیر superglobal است، به این معنی که همیشه در تمام کد در دسترس است.
اگر URL کامل صفحه را میخواهیم، باید پروتکل را بررسی کنیم، خواه https یا http باشد. مثال زیر را ببینید:
<?php
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')
$url = "https://";
else
$url = "http://";
// Append the host(domain name, ip) to the URL.
$url.= $_SERVER['HTTP_HOST'];
// Append the requested resource location to the URL
$url.= $_SERVER['REQUEST_URI'];
echo $url;
?>
خروجی
توجه: تابع isset()
در اینجا برای بررسی فعال بودن یا نبودن HTTPS استفاده می شود. بررسی می کند که آیا متغیری وجود دارد یا خیر.
یا، همچنین میتوانیم URL کامل صفحه فعلی را با استفاده از روش دیگری که در مثال بعدی ارائه شده است، دریافت کنیم.
<?php
$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$CurPageURL = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo "The URL of current page: ".$CurPageURL;
?>
خروجی
برای دریافت تنها نام صفحه فعلی باز شده در مرورگر، به مثال زیر مراجعه کنید:
<?php
$curPageName = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
echo "The current page name is: ".$curPageName;
echo "</br>";
?>
خروجی
دیدگاهها