2008-12-20 169 views
1

好的我在這個星期五的工作中設置了一個表,其中將包含來自名爲values.php的單獨文件的數據。當我這樣寫時,div就會變成空白。我認爲我的「包含」寫錯了,絕對路徑不起作用嗎?PHP的絕對路徑包括

<?php include('http://www.nextadvisor.com/credit_report_services/values.php'); ?> 

<div class="box_text"> 
         <div class="box_image"> 
         <a href="<?php echo $offer1link ?>" target="blank"><img src="<?php echo $offer1logo ?>" alt="<?php echo $offer1name ?>"></a></div> 
         <div class="box_rating"> 
          Rating:<span class="star_rating"><img src="<?php echo $offer1star1 ?>" alt=""></span><br> 
          <div class="rating_review"><a href="<?php echo $offer1link ?>" target="blank">Go to Site</a> | <a href="<?php echo $offer1anchor ?>">Review</a></div>       </div> 


         <br style="clear: both;"> 
         </div> 

哦,並提前感謝您的任何幫助可以給。任何幫助我的人都是最棒的。我感覺不好,因爲有時候有兩個人回答這個問題,我不能給兩個人發綠色檢查。

+0

提供其他PHP文件的來源以及.. 此外,如果文件駐留在同一臺服務器上,這是最好的使用路徑,而不是一個URL – 2008-12-20 00:10:26

+0

你有一個根本的誤解如何URL和PHP的工作,PHP是一個腳本,運行在服務器上,並輸出HTML。您無法遠程運行其他站點的PHP,只能接收其輸出的HTML。 – TravisO 2008-12-20 03:41:23

回答

2

默認情況下,您嘗試執行的包含類型被阻止,並不是說它是危險的。您正試圖包含遠程文件。

如果你的腳本和「values.php」在同一臺機器上,你應該使用類似於「/var/www/nextadvisor.com/credit_report_services/values.php」的絕對路徑或者一個相對路徑,這取決於你的文件的位置,而不是http://www.nextadvisor.com/credit_report_services/values.php

在我看來你並沒有試圖包含遠程文件,但如果你仍然想包括一個遠程文件,你必須在你的php.ini中設置以下指令

allow_url_fopen = 1 
allow_url_include = 1 
1

絕對文件名與/path/to/file.php類似,您可以從文件系統中的任何位置訪問文件h ierarchy。

如果它在同一目錄,或相對於同一目錄,你可以使用像

include dirname(__FILE__) . '/file.php'; 
include realpath(dirname(__FILE__) . '/../dir') . '/file.php'; 
include realpath(dirname(__FILE__) . '/../dir/file.php'); 

你或許應該做一些常量像

define('BASEDIR', dirname(__FILE__)); 
define('LIBDIR', BASEDIR . '/lib'); 
3

由於您使用的是URL,PHP會向服務器發送一個文件請求,服務器會解析它,就像瀏覽器請求它一樣。你可能想要做的是爲你的包含使用相對於腳本的路徑。如果你想包括文件是在同一文件夾,只要使用
include('values.php');