php, yalnızca bu belge için bir dosya göreli eklemek için herhangi bir yolu var içerir?

2 Cevap php

Ben inc / footer.php içeren bir index.php dosyası varsa ben yazmak istiyorum:

include 'inc/footer.php';

Ben footer.php içine başka bir dosya eklemek istiyorsanız, ben index.php dosyası (bunu dahil olduğu bir) göre bunu yapmak gerekir. Bu bir sorun olabilir, ama olmayabilir ne tamamen farklı bir yerden index.php eklemek istiyorsanız dersiniz?

Ben mutlak bir yol tanımlayan veya dirname kullanmak gibi bunu başarmak için çeşitli yöntemler olduğunu anlamak (FILE).

Bu bir yol veya başka ben her zaman bunu anladım ama beri ben her zaman tam olarak php çalışmaları içermektedir merak gerçek bir sorun olmamıştı şeydir.

Birisi başlık altında neler olduğunu exaclty bana açıklayabilir misiniz?

Teşekkürler

2 Cevap

Bu yardımcı olabilir: (dan http://php.net/manual/en/function.include.php)

Files for including are first looked for in each include_path entry relative to the current working directory, and then in the directory of current script. E.g. if your include_path is libraries, current working directory is /www/, you included include/a.php and there is include "b.php" in that file, b.php is first looked in /www/libraries/ and then in /www/include/. If filename begins with ./ or ../, it is looked for only in the current working directory or parent of the current working directory, respectively

Sizin soru devletler:

If I want to include another file inside footer.php, I must do it relative to the index.php file (the one that is including it).

Eğer çalıştığınız filepath include() ./ veya ../ ile başlar yalnızca, bu doğrudur. Göreceli bir yol kullanarak geçerli dosya üzerinde bir dosya eklemek gerekirse, (senin önerdiğin gibi) kullanabilirsiniz:

include( dirname(__FILE__) . '/../file.php')

Mutlak bir yol tanımlamak, ayrıca geçerli include_path ekleyebiliriz:

set_include_path(get_include_path() . PATH_SEPARATOR . '/absolute/path');

Daha sonra tüm '/ mutlak / yol /' göreli içerir yapabilirsiniz.

Cevabını bulmak için en iyi yer PHP kılavuzda olduğunu.

http://php.net/manual/en/function.include.php

Short answer: the path is relative to the executing PHP script no the sub includes.

Lütfen fonksiyonlar, sınıflar vb klasörlere küresel mutlak yolunu ayarlama en iyi yöntemdir.