2013-08-03 15 views
12

"projectfiles" adlı bir dizinin yolunu içeren genel bir değişken tanımlayan bir config.php dosyası oluşturmaya çalışıyorum. Fikir, herhangi bir dosya, dosya ağacında nerede olduğuna bakılmaksızın bu dizine işaret edebilir.php __DIR__

Bunun için __DIR__ kullanabilir miyim? Birisi bana bunun nasıl çalışabileceğine dair bir örnek vermeye istekli olur mu? Burada bir dizin tanımlamak istediğiniz

: Ben aşağıdaki gibi şeyler düşünüyordum

$projectfiles = __DIR__("projectfiles/") 

Sonra bir kitaplık dosyası /venders/library/generalfunctions.php dosyasında bu değişkeni kullanabilmek için istiyorum

/config.php dosyada

include("../../../config.php"); 
$file = $projectfiles/testfile.php 

Öneriler? Bu uygulamanın mimarisi benziyor

cevap

0

idealden daha az, ama daha bilmeden, ben bu konuda yorum yapamam ..

o değiştirilemez böylece sabit olarak tanımlayan önermek ve kapsamı ne olursa olsun kullanılabilir.

define('PROJECTFILES',__DIR__.'/projectfiles/');

varsayarsak:
/config.php
/projectfiles/include_me.php

include(PROJECTFILES.'include_me.php

__DIR__config.php olduğunu dizinine başvurmak olacaktır unutmayın. config.php, projectfiles'un üst klasörü ise e çalışacaktır.

3

__DIR__ kesinlikle aradığınız şeydir. Gerekli dosyalar için göreli yollar sağlamak için kullanın. Tüm kitaplık dosyaları için require_once veya include_once kullanmanızı şiddetle öneririm. İlk satırı kullanma

if(!defined(__DIR__)) define(__DIR__, dirname(__FILE__)); 
require_once(__DIR__ . '/../../../config.php'); 
. 
. 
. 
// you code here 

geri PHP 5.2 ile derde alışkanlık garanti etmektedir. Bu, çağrılan komut dosyasına göre dizin yapısına dayalı dosyaları eklemenize izin verecektir.