2013-09-27 296 views
0

沒有工作,我有我的頭恆集包含PHP文件

<?php 
    define('RELPATH','http://www.saint57records.com/'); 
    include_once(RELPATH.'sidebar.php'); 
?> 

的這裏面的代碼和代碼在側邊欄

<a href="/"><img style="margin:10px;" src="<?php print RELPATH;?>images/logo.png" width="60px"/></a> 

一個例子線,但是當它得到到它包含文件正確的頁面,但文件中的所有鏈接只是打印RELPATH而不是像這樣的網頁url

<a href="/"><img style="margin:10px;" src="RELPATHimages/logo.png" width="60px"/></a> 

它在我網站的其他頁面上正常工作,不在Wordpress內。有誰知道什麼可能導致這個問題?

回答

1

簡短的回答是提供RELPATH的文件系統路徑,而不是網址。

長的答案是,當您使用Web URL來包含PHP文件時,PHP文件將被視爲外部源。它將被遠程調用,在它自己的過程中執行,並返回結果。先前定義的常量不能對此遠程資源產生影響。

如果http://www.saint57records.com/位於不同的服務器上,則必須以其他方式將RELPATH傳遞給它,例如,通過一個GET變量(在使用前你必須使用htmlentities()進行清理)。但是,以這種方式包含來自遠程服務器的內容並不是一種好的做法。它會減慢你的頁面,因爲它會造成昂貴的Web請求。如果目標服務器關閉,您的頁面將超時。

+0

如何找到文件系統路徑,我認爲它是像/ home/user/public_html//但似乎沒有工作。我在用戶部分有我的用戶名 –

+0

@MichaelStClair查找文件系統路徑的最簡單方法實際上是引發一個錯誤:'<?php dsfadsfads(); ?>看看錯誤信息(提供了錯誤報告); 'echo __DIR __;'也會完成這項工作 –

+0

找不到這個文件,現在打印這個