PHP mutlak yolları kullanmak için en iyi yolu nedir?

3 Cevap php

Ben her zaman PHP göreceli yolları kullandık. Son kez ben mutlak yollar gibi bir şey olduğunu anlamışlardır.

Ama bunları kullanmak için en iyi yolu nedir?

getenv("DOCUMENT_ROOT"); ?
dirname(__FILE__); ?

Nasıl uygulanması ile anlaşma yapmak? Bazı fikirler verin.

3 Cevap

I "relative" Ben bazı kod yazıyorum hangi birine dosyaları kullanmak istediğinizde, ben hep kullanıyorum:

dirname(__FILE__)

Bu bana izin verir:

  • Her yerde iş olacak mutlak yolları, sunucu benim uygulamayı dağıtmak için olursa olsun yok
  • hala onları yazma olduğumda göreceli olanlar "gibi" bu yolu kullanın.


For instance, to include a file that's in a "classes" sub-diretory, I would generally use :

require dirname(__FILE__) . '/classes/MyClass.php';

Eğer komut satırından komut yürütme olsanız bile bu işe unutmayın - bir web sunucusu kullanarak değil zaman DocumentRoot çeşit dayalı bir çözüm muhtemelen çalışmaz ise.


And, with PHP >= 5.3, you can also use the __DIR__ magic constant, which has exactly the same value as dirname(__FILE__), but is evaluated at compile-time, and not execution-time -- which is a bit better for performances.

Ben her zaman dirname(__FILE__), ben bunu gerekenler için mükemmel çalışıyor kullandık. Ben gerektiren veya yeni dosyaları eklemek ben kolayca çok fazla sorun olmadan yollara içine dahil edebilirsiniz zaman sonra, ben kullanmak herhangi bir küresel verilerle birlikte yapılır komut yürütme başında bir değişkende saklayın.

Ben her zaman kullandığım $_SERVER['DOCUMENT_ROT'] or $_SERVER['PHP_SELF']

Ben donno, herkes kendi sanırım