2012-01-31 13 views
7

include_once(); yolunu başlangıç ​​dizininden başlatmak için bir yol bulmaya çalışıyorum ve sonra yolu bul. ../../../path/to/file yerine /path/to/file olurdu. Ben böyle bir dosya veya dizin diyor /path/to/file bunu yoksa bir Apache sunucusunu varsa, burada php include_once yolu

"/assets/page_assets.php"

<?php 
include_once($_SERVER['DOCUMENT_ROOT'] . "/assets/page_assets.php"); 
?> 
değil kök klasörden, from the root of the disk demektir benim direkt kod

<?php 
include_once("/assets/page_assets.php"); 
?> 
+2

'yol başlangıcı:

<?php ini_set('include_path',ini_get('include_path').':../../../:'); ?> 

Ama Neşeli açıklamada belirtildiği gibi, size gelen kesme işareti olmadan dosyasını içermelidir

web sunucusunun kökü? '/ path/to/file', dosya sisteminin kökü olan yoldur! – Cheery

cevap

12

olduğunu sunucusu. Başka bir beginning directory hakkında konuşuyorsanız, fiziksel yolu (sunucunun dosya sistemindeki yol, web yolunu değil) ayrı bir sabit/değişken olarak tanımlayın ve yukarıda gösterildiği gibi dahil edilen yola ekleyin.

0
Şimdi include("path/to/file.php"); çağırabilir chdir($_SERVER['DOCUMENT_ROOT']);

ile komut başlayın

ve webroota gelen aramaya başlayacaktır.

1

Bunu yapmak için kök yolunu kullanmalısınız. Bazı durumlarda bu, /var/www/mysite.com/assets/page_assets.php gibi görünebilir. Bu yolu bulmanın bir yolu __FILE__'u kullanmaktır (Bu, hem önde hem de arkada 2 alt çizgi). Bunu bir dosyadan eklerseniz, size tam yolu gösterecektir. Doğru yolun tamamını ayarlamak için bunu kullanabilmeniz gerekir.

2

Açıkça yolu dahil belirtebilirsiniz: den directory` baştan

<?php 
include_once("assets/page_assets.php"); 
?>