اصفهان - گلپایگان - بخش مرکزی - شهر گلپایگان-محله پارک شهر-کوچه محبت-خیابان غدیر-پلاک 257 - کد پستی:8771664345
03157481449   09130246374   @  

03157481449   09130246374



گرفتن آدرس سایت (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    24142 بار    اشتراک در تلگرام    https://www.zhupin.ir/post/19

نظرات

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

کد امنیتی :

خلیج ..... ؟