Ben yerel olarak veya uzaktan içermelidir?

5 Cevap php

Ben dosyaları da dahil olmak üzere zaman merak sadece bir şey:

Ben bir dosya ya da link eklemek istiyorsanız söyleyin. Should Ben sadece örneğin:

include("../localfile.php");

ya da ben onun yerine kullanmalısınız

include("http://sameserver.com/but/adirect/linkto/localfile.php");

Biri diğerinden daha mı iyi? Ya da daha güvenli? Yoksa sadece kişisel bir tercihtir?

Açıkçası Eğer birden çok dizinde dosya içine içerecek bir dosya olsaydı bir gereklilik olacağını ve bu dosya farklı bir dosya içerir, ya da yapmanın başka bir yolu var mı?

5 Cevap

Bir dosyayı okurken bir HTTP isteği yapmak ve yanıt almak daha much hızlıdır. Asla include(a_uri) bunu yardımcı olabilir.

Eğer sizin içeren komple bir dosya yolu hesaplamak istiyorsanız $_SERVER['DOCUMENT_ROOT'] kullanın.

Php script gerçekten bilmek veya yerel sunucuda bir komut dosyası içeren konum bakım, böylece url yolu bir http isteği neden olur ve http istekleri ağ gecikme hemen hemen için darboğaz değil çünkü kesinlikle, yerel dosyayı içerir genel olarak herhangi bir html sayfası oluşturma, onları daha az sen, kapalı daha iyi olacaksın var.

Şahsen ben require_once, çünkü lehine, genel include ve require kullanarak kaçınıyorum require_once yazarken anlamına gelir kullanan kodunuzu reusably yerine bunu eklediğinizde hemen yürütür kod yazma. , Sınıf tanımları çekin işlevi kütüphanelerde çekin, ama bunu ne zaman dahil olduğu yeniden zor hale getirecek, çünkü hemen yürütür kod önlemek için deneyin.

Soru tutmak hakkında çok Eğer üretime evreleme hareket zaman bir milyar yollarını değiştirmek zorunda değilsiniz, ben öğrendim bu küçük şey ile gitmek:

 define('BASE_DIR',  '/path/to/root/');

Sonra yol başvuruları tüm BASE_DIR kullanın. Sitenizi taşımak için zamanı geldiğinde, sadece (sadece / bu noktada olmalı) yeni yolu olduğunu tanımını değiştirin.

Remove çağırma php output, değil dosya içeriğini yürütecek beri diğer insanların söylediklerine ek olarak, bu çağrıları, farklı sonuçlar olacaktır. Eğer, dosyayı işleme itibaren php durdurmak sürece size gerçekten istediğiniz ille de değil dünya için kodunuzu teşhir konum durumda.

Her zaman yerel dahil, neden sen kötü şeyleri uzak birisi farklı bir dosya oluşturabilirsiniz içerir ve eğer. Ve gerçekten uzaktan kumandası ile bu test edemez başka bir sorun içerir. As far as ı know yerine require_oncenin kullanmalısınız ...