اصفهان - گلپایگان - میدان بسیج - مجتمع تجاری پارسیان - طبقه اول انتهای راهرو خدمات ژوپین پ 136
031-57453161   09130246374   @ info[at]zhupin[dot]ir  



گرفتن آدرس سایت (url) در هر قسمت از سایت در php


گرفتن آدرس سایت (url) در هر قسمت از سایت در php

در طراحی یک سایت ما همیشه نیاز داریم تا آدرس url ریشه سایت را داشته باشیم یعنی همان صفحه نخست یا site.com به عنوان مثال

خوب دوستانی عقیده دارند که میتوان یک ثابت ایجاد و مقدار دستی را خودمون بدهیم . خوب این مشکل ساز میشود مثلا در باز شدن سایت در https و یا تغییر دامنه و ...

بعترین کار تعریف تابع هست که هرجا بخواهیم فراخوانی کنید

این تابع را قرار بدید

function base_url(){

if (isset($_SERVER['HTTP_HOST']) && preg_match('/^((\[[0-9a-f:]+\])|(\d{1,3}(\.\d{1,3}){3})|[a-z0-9\-\.]+)(:\d+)?$/i', $_SERVER['HTTP_HOST']))
			{
				$base_url = (is_https() ? 'https':'http').'://'.$_SERVER['HTTP_HOST']
					.substr($_SERVER['SCRIPT_NAME'], 0, strpos($_SERVER['SCRIPT_NAME'], basename($_SERVER['SCRIPT_FILENAME'])));
			}
			else
			{
				$base_url = 'http://localhost/';
			}
			
return $base_url;


}

خوب در تابع بالا که اگر هرجا فراخوانی کنیم آدرس اصلی سایت را میدهد یک مورد کم داریم و آن هم تابع is_https هست که اون تابع هم در زیر داریم پس اضافه کنید

	function is_https()
	{
		if ( ! empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off')
		{
			return TRUE;
		}
		elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) === 'https')
		{
			return TRUE;
		}
		elseif ( ! empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off')
		{
			return TRUE;
		}

		return FALSE;
	}
}

خوب حال هرجا به آدرس سایت نیاز داشتید کافی است بزنید base_url() و تمام مثلا میخواهید یک css را لود کنید که در پوشه css در روت سایت هست

<link  rel="stylesheet" href="<?php echo base_url()"?>css/style.css />

 

موفق باشید.


1396/02/26 11:47:46      مطالب آموزشی php    7826 بار    اشتراک در تلگرام    http://www.zhupin.ir/post/19

نظرات

دیدگاهی یافت نشد

کد امنیتی :

دریایی در شمال ایران؟