PHP için Base Yer

4 Cevap php

Geçenlerde benim web sitesi içine PHP dahil etmeye karar verdi, ama ben bu yüzden fonksiyonları ile aşina değilim daha önce onunla hiç çalışmadım ...

Benim sorunum ben böyle her PHP sayfasının benim üstbilgi ve altbilgi için () yöntemini içerir kullanıyorum olmasıdır:

<?php include('../php/header.php'); ?>

Bu / public_html dizinindeki benim web sitesinin kök / php dizinine gider. Dosya eklerim her PHP sayfasının üst kısmında, yer olabilir, farklı alt-dizin düzeyleri için hesap:

<?php
/* Path prefix so relative links work correctly */ 
$path = "../";
?>

ve .. / aşağı bir dosyaya başka bir alt dizin için .. / .. / ile değiştirilmesi olabilir ve böylece, ve üstbilgi ve altbilgi dosyaları, bağlantılar böyle ilerler:

<a href="<?php echo($path); ?>index.php" title="Home">Home</a>

ve her şey böyle çalışıyor ... benim web sitesinde bir alt-dizinde bulunduğu wordpress ile kullanmaya kadar. Wordpress dinamik sayfaları kullanır ve bu yüzden bazen sayfalar diğer sayfalara göre daha alt dizin alt bulunan ve bağlantıları bu yöntemle çalışmak için başarısız olur. Benim eski site tasarımı, benim sitenin kök / public_html dizinine tüm bağlantı başvuruları ayarlamak için etiketi kullanılır. Ancak, PHP bu etiketi etkilenmez. Ne yapmam gerekiyor benim blogda () yöntemlerini içeren için / public_html dizininden bağlantı başvurularını ayarlamak için bir yöntemdir.

Böyle bir yöntem var mı ya da ben yapıyorum ne yapmak için daha iyi bir yolu var mı?

4 Cevap

Config dosyası /system/config.php olduğunu söylüyorlar. config.php add in ...

define( 'DIR_BASE', dirname( dirname( __FILE__ ) ) );
define( 'DIR_INCLUDES', DIR_BASE . 'includes/' );

Şimdi sürece config.php dosyası hareket etmiyor gibi, baz dizin her zaman bunun altındaki 2 dizinleri olacak. Sen config.php dahil tüm dosyaları bu kullanabilirsiniz.

require( DIR_INCLUDES . 'header.php' );

Şimdi size sitede nerede endişelenmenize gerek yok.

$ _SERVER ['DOCUMENT_ROOT'] bakmak olabilir. Sunucunun yapılandırma dosyasında tanımlanan gibi, belge kök dizini dönecektir.

Eğer Wordpress Admin bölümüne alabilir miyim?

Eğer gerçekten Wordpress içine herhangi bir dosya dahil etmek gerekmez. Bu tür tek başına duruyor. Ya da belki ben soruyu yanlış anlama ediyorum.

Yukarıdaki kişi sizin root olarak $ _SERVER ['DOCUMENT_ROOT'] belirtin ve o url en kapalı inşa edebilirsiniz dediğim gibi.

EG:

<?php

echo '<a href="'.$_SERVER['DOCUMENT_ROOT'].'/subfolder/subfolder/file.php">Link To page</a>';

?>

Bu yardım veya hala sorularınız var mı?

En iyi bahis ihtiyaçlarını kateden bir daha takım elbise senin dizini (document root olacağını, kök dizinine daha derine gitmek için izin hangi bağlı olarak, $ _SERVER ['SERVER_NAME'] veya $ _SERVER ['DOCUMENT_ROOT'] 'da kullanmak için yararlı Eğer sizin web kök altında bir dizin içerir) tutmak.

Wordpress ve WP ile bu olur karışıklık (wp_options tabloya set) kök belirlemek için kendi ayarları vardır nasıl olsa net değil.