PHP: Neden ben de bir dosya içerir başka bir dizinden dosya eklemek gibi garip bir davranış?

0 Cevap php

Ben böyle bir şey görmedim.

Dosya yapısı:

  • somefolder / base.php
  • / stuff.php içerir
  • / constants.php içerir

base.php:

<?php require("..// stuff.php içerir"); ?>

stuff.php:

<?php 
   require("constants.php"); 
   echo "Stuff.php Hoşgeldiniz";
?>

constants.php:

<?php echo "IMPORTANT CONSTANTS DEFINED HERE!";  ?>

Result:

Stuff.php Hoşgeldiniz

Neden constant.php iletiyi görüntülemek değil?! Ben sorun değil ne söyleyeceğim: bu php kodu değil.

Ben sabitleri dosya aslında bazı sabitler ing)-(DEFINE ve nedense sadece ilk birkaç sabitleri çalışan bazı karmaşık dosyaları ile başladı. I) 's (DEFINE ve sadece yankı ifadeleri olan ve bu sorun hala yüzüme bakıyordu tutulan dahil tüm dışsal kodu devre dışı sona erdi. Ve arada nasıl tanımlanmış sabitleri bazı bağımsız kod düzeni, herhangi bir yankı yıllardan üzerinden değil, bunu yapabilir?

Ben nihayet bu saçma olduğunu fark ve sadece bir test olarak bazı yeni dosyalar oluşturmak için karar verdi. Bu olanlar çalıştı. Ya da belki de, ben unutmadım. Her neyse yeni dosyalar oluşturma ve etrafında onları hareketli ve başka bir dosyadan kod kopyalama ama hiç bu kadar herhangi bir kafiye ya da neden var gibi görünüyor deneyerek başarı bazı ölçü vardı.

Vay be, bu sadece: Ben farklı bir isim altında çalışan constants.php dosyası var ama ben constants.php değişti zaman çalışmayı durdurdu! Ben farklı bir tarayıcıda önbellek / açılış takas ve sunucuyu yeniden başlatmadan denedim ama hiçbiri yardımcı olur. Ben ya da benim bilgisayar ya da uyuşturucu gibi hissediyorum. Gaaaahh!


EDIT

Aha. Ben bu gibi görünüyor bilgilerin çok önemli bir parça dışarı bıraktı. Bir dosya Ben söz etmedi.

  • somefolder / constants.php

Bu dosya / constants.php içerir yerine dahil ediliyordu. Ben herhangi bir eksik dosya hataları almıyorum bu yüzden. Bu tamamen kafa karıştırıcı şeyler oldu! Ben bu üst düzey, yani stuff.php da kendi dizininde constants.php bakmak istiyorum ama base.php stuff.php ve SONRA dahil stuff.php içinde base.php belirtilen gelmez içerir sanırım içerir önce gerçekleşmesi alt içeren bekleniyor hangi araçları base.php göre olan içerir. Yani mutlak yolları sonuçta çözümdür.

Additional edit:

Çok ilginç. Ben sadece includes / constants.php (örneğin constanza.php arası) adını değiştirdi zaman önce çalışmış neden hala şaşırmıştı. Dosya dahil bu yüzden kesim ve kuru değil gibi görünüyor. Aynı ada sahip iki dosya varsa o da dahil olmak üzere yapıyor ana dosyaya bir akrabası tercih edecektir. Bu seçeneği yok ama eğer sadece iyi çocuğa bunu göreli yapacağız.

0 Cevap