A. Bu ne işe yarıyor?
require ("./file.php");
Buna göre B.?
require ("file.php");
(Onun not up-tek-dizinde .. hangi olurdu)
require ("../file.php");
./
current dizin. Bu büyük ölçüde, sadece file.php
aynıdır, ancak birçok durumda (Bu bir dahil) yerine only akımı kontrolü, PHP bir dosya görünebilir herhangi bir standart yerleri kontrol etmez dizin.
PHP documentation (son cümle dikkat) Gönderen:
Dahil olmak üzere dosyaları önce geçerli çalışma dizini her include_pathdaki giriş nispetle için baktı, ve sonra betik dizininde vardır. Örneğin senin include_pathdaki kütüphaneler ise, geçerli çalışma dizini eklemek / a.phpı dahil ve bu dosyada "b.php" dahil, orada / www / b.php ilk sonra / www / kütüphaneler baktı / ve / www / / bulunmaktadır. Dosya adı ile başlar. / Veya .. /, yalnızca geçerli çalışma dizininde aranacaktır.
İlk sürümü nispeten ... doğrudan idam dosyası dosyaları dahil etmek için iç mekanizması zorlar. Yani, örneğin var
index.php
// directly executed script (php -f index.php or from a browser)
include 'second.php';
second.php
// This is included relatively to index.php
// Actually, it is first searched relatively to include_path, then relatively
// to index.php
include './third.php';
third.php
// This is included relatively to second.php ONLY. It does not search
// include_path
return "foo";
The Short Answer
Haklısın, o bir dizin yukarı değil. Bir. Eğer konum dizine eder, ve .. ana dizine gelir.
Meaning, ./file.php and file.php are functionally equivalent in PHP. Here's the relevent page of documentation: http://us.php.net/manual/en/wrappers.file.php
The Longer Answer
Ancak, bu bağlamda aynı iş sırf onlar hep aynı olduğu anlamına gelmez.
Bir * nix kabuk ortamında faaliyet konum ve yürütülebilir bir dosya adını yazdığınızda, kabuk PATH dizinleri bakacağız, ama CWD'sindeki bakmak olmaz, ya içeri anda konum dizini
Yani, adlı bir dosya olan bir dizinde iseniz: myprogram.php (Bu bir PHP CLI dosya olacaktır) ve sadece yazın:
myprogram.php
program çalıştırılabilir olup olmadığı önemli değil. Kabuk dosya için / bin /, / usr / bin / etc bakacağız, ama içinde aramaz. / Veya içeri konum dizini
PATH için dizin ekleme olmadan bu programı yürütmek için, yazmanız gerekir
./myprogram
Yani gerçekten,. / Daha açık olduğunu. Bu, "Aradığınız dosya burada olmak HAS" ve. / Hayır demektir, "dosya dosyaları arıyor yerde programı olacak" demektir.
Bunun için only geçerli dizinde dosya eklemek veya dosya mevcut değilse, başarısız php anlatıyorsun.
Eğer format "indexcommon3.php" kullanımı ve dosya değilse mevcut php include_path sistem değişkeni içine arayacaktır.
Başvuru için kullanabilirsiniz http://www.php.net/manual/en/function.include.php