PHP Dosya Navigasyon (Yerel + Uzaktan)

1 Cevap php

Ben bir içerik yönetim sistemi (nakid) üzerinde çalışıyoruz ve benim zorlu işlerden biridir dosya navigasyonu. Ben dosya yolları ve ayarlar yerel ve uzak sunucularda çalışmaz emin olmak istiyorum. Şu anda benim kurulum böyle hoş çok şey:

(tüm sayfaları tarafından kullanılan) first.php:

//Set paths to nakid root
$core['dir_cur'] = dirname(__FILE__);
$core['dir_root'] = $_SERVER['DOCUMENT_ROOT'];
//Detect current nakid directory
$get_dirnakid_1 = str_replace("\\","/",dirname(__FILE__));//If on local
$get_dirnakid_2 = str_replace("/includes/php","",$get_dirnakid_1);
$get_dirnakid_3 = str_replace($_SERVER['DOCUMENT_ROOT'],"",$get_dirnakid_2);
//remove first "/"
if(substr($get_dirnakid_3, 0,1) == "/"){
 $get_dirnakid_3 = substr($get_dirnakid_3, 1);
}
//Set some default vars
$core['dir_nakid_path'] = $get_dirnakid_3;
$core['dir_nakid'] = $core['dir_root']."/".$core['dir_nakid_path'];//We need to get system() for this real value - below

Ben bu programı (/ admin / cms) (/ cm) sunucu üzerinde herhangi bir yerde, yani (/ nakid) olarak oturduğunu dizin istiyorum, çünkü ben de bu şekilde yaptım nedeni

Ben bir şey yanlış şekilde yapıyorum olumlu değilim ya da tüm bu dikkat çekmek için basit bir yol olduğunu.

Bu kodun daha yakından bakmak almak için yardımcı olur ve nasıl her şeyi kullanılıyor ise ben nakid.org de tüm kadar var

EDIT: Sadece ne nakid.org de var benim yeni yayınlanan kod biraz daha farklı, ama aynı fikir hala çalışırken yapmak ne geçerlidir gerçekleşmiştir.

1 Cevap

Tarafından ve büyük, bana iyi görünüyor.

Sen değişkenleri daha konuşan isimler vermek isteyebilirsiniz (böylece örneğin nakid_root_dir, nakid_relative_webroot ve.)

\ / yol adlarında dönüştürürken Unutmayın: Eğer bu ayarlardan birine another dizin adı eşleşen zaman, str_replace("\\","/"...) gerekir çok olanlarda.

Ben bile, $get_dirnakid_2 ile nişan ne anlamıyorum. I /etc/includes/php/nakid adında olmak olur bir dizinde uygulama yüklerseniz neden benim yolu berbat olacak?

Neyse, overwritable de bu ayarların kullanıcı yapmak gerekir. Bazen, kullanıcının size DOCUMENT_ROOT ve eşlerinden ne olsun farklı ayarlara ayarlamak isteyebilirsiniz.