• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

otomatik base href tanımlayıcı fonksiyon

Konuyu Okuyan Kişiler (0)

saintx

webmaster.tc
Katılım
24 Ağu 2012
Mesajlar
111
Beğeniler
0
Konum
Akhisar
#1
merhaba arkadaşlar,

diyelim ki bir projeye başlayacaksınız ama böyle stil dosyalarınızı javascript dosyalarınza adres tanımlayamadınız hata yaptınız gibi dertlerden kurtulmak istiyorsunuz tamda bu anda bu fonksiyon derdinizi çare buluyor.

örneğin ; http://localhost/yeni.proje/index.php adresinde çalışmamızı yapıyoruz. bu fonksyionu index.php dosyamızın en üstüne koyuyoruz.ve aşağıdaki denemeleri yapıyoruz.

fonksiyon;
PHP:
<?php
	function _setSubDirectory($file, $self) {
		$rfile   = str_replace('\\', '/', $file);
		$rfile   = str_replace($self, '', $rfile);
		$self    = str_replace($rfile, '', $self);
		$explode = explode('/', $self);
		array_pop($explode);
		$explode = implode('/', $explode);
		return $explode . '/';
	}
daha sonra fonksiyonu koyduktan sonra birde sabit bir değişken tanımlamalıyız ki projemizde kullanabilelim.

PHP:
	define('BASEHREF', 'http://' . $_SERVER['HTTP_HOST'] . _setSubDirectory(__FILE__, $_SERVER['PHP_SELF']));
verdiğim kod parçacığına ekledikten sonra yemeğimiz hazır oluyor..

bir deneme yapalım..

PHP:
<?php
/*
çalıştırılan url adresimiz; http://localhost/yeni.proje/index.php
*/
	function _setSubDirectory($file, $self) {
		$rfile   = str_replace('\\', '/', $file);
		$rfile   = str_replace($self, '', $rfile);
		$self    = str_replace($rfile, '', $self);
		$explode = explode('/', $self);
		array_pop($explode);
		$explode = implode('/', $explode);
		return $explode . '/';
	}
	
	define('BASEHREF', 'http://' . $_SERVER['HTTP_HOST'] . _setSubDirectory(__FILE__, $_SERVER['PHP_SELF']));
?><!DOCTYPE html>
<html>
<head>
<title>Başlıksız Doküman</title>
<meta charset="utf-8" />
</head>
<body>
<?php echo BASEHREF; ?>css/saintx.reset.css
</body>
</html>
kodlarını kaydedip çalıştırdığımızda ekrana ;

Kod:
http://localhost/yeni.proje/css/saintx.reset.css
çıktısı verecektir.

bir konumuzun daha sonuna geldik umarım anlamışsınızdır :) eğer anlamadığınız sorular varsa konunun altından yorum şeklinde belirtirseniz sevinirim.

esenlikle kalın, allah'a emanet olun. :)