2011-05-21 15 views
2

我有一個網站,使用一些包括(腳註,電子郵件處理等)。我也使用AJAX,它調用一個特定的URL來加載數據。我對這些文件應該放在服務器上的位置有些困惑。我認爲,出於安全原因,讓文件或路徑對公衆可見是個不錯的主意。但是,當我將文件放在我的public_html文件夾外時,僅使用「./filename」不起作用。PHP文件的包含和用於AJAX調用的PHP文件應該放在服務器上?

更新:除非我提供完整的路徑名稱,否則include不起作用。

<?php include('../includes/footer.php');?> 

頁腳文件位於以下路徑:家用/用戶/ PHP /包括/ footer.php當我使用以下路徑包括我收到一個錯誤。

我的網站位於:家庭/用戶/的public_html/site.com /文件

更新2:我添加了一個新的include_path中: 「/ home/user中/ PHP的」。我將include改爲「includes/footer.php」。它現在工作正常。

但是,如果其他人對我的原始問題有任何想法,我會很感激。

回答

1

看起來你可能在文檔根目錄之外。

如果你的網站必須是在/ home /用戶/的public_html(或類似)嘗試把你包括在/ home /用戶文件夾/的public_html /包括,只是指/包括

是的,有一個沒有文件在公共可訪問區域的說法,但如果你已經編寫好你的PHP文件,這應該不成問題。

人們無法看到信息來源,並且錯誤捕獲簡單是用戶登錄,還是表單提交字段有一個值,你可以引導他們回到錯誤頁面或任何你喜歡的地方。

1

如果你的網站是什麼/的public_html你可以使用 該文件夾的東西/包括/ footer.php

include '../include/footer.php' 

爲包括,作爲你把你的Ajax文件,我不認爲它很重要所有這些,人們可以在任何情況下查看JavaScript以查找地址

+0

謝謝,但我一定在做錯事。當我使用整個路徑時,包含工作正常。但是當我使用你建議的方法時,我得到一個錯誤。文件位於user/includes/footer.php – Ken 2011-05-21 18:46:51

+0

@Ken例如使用「include」../../php/includes/footer.php';「因爲你必須返回兩個文件夾到達用戶,然後輸入php/includes / – Andreas 2011-05-21 22:29:07

0

如果請求將PHP文件首先由PHP處理。所以用戶不能得到實際的php文件。只是它的輸出。