我在同一臺服務器上有兩個doamins(www.domain1.com,www.domain2.com)。如何從其他域包含一個PHP文件
我有一個index1.php
在拳頭服務器。 現在我需要包括文件index2.php
駐留在域2,
怎麼可能使用PHP代碼(包括需要....)
我在同一臺服務器上有兩個doamins(www.domain1.com,www.domain2.com)。如何從其他域包含一個PHP文件
我有一個index1.php
在拳頭服務器。 現在我需要包括文件index2.php
駐留在域2,
怎麼可能使用PHP代碼(包括需要....)
如果他們是同一臺服務器,你可以只包含文件與絕對文件路徑。很難確切地勸不知道你確切的文件路徑,但仍然代碼:
include('/path/to/your/file.php');
這通常是不可能的,你應該考慮不要這樣做。如果您控制兩個域並且需要它們之間的共享代碼,請考慮對共享代碼進行版本控制(例如顛覆),然後檢出它們之間的副本。否則,如果您不控制其他域,那麼您的運氣不好。
使用cURL也無濟於事,因爲它會在文件處理後返回。 PHP的include()
將允許在應用程序流程中插入和執行代碼,然而,使用cURL(或fopen()
,file_get_contents()
等)顯然只會返回任何腳本輸出,因爲在您的函數之前它將由其他服務器先前處理選擇返回。
在另一臺服務器上不可能包含php文件,因爲這會是一個安全漏洞(其他站點設置變量,然後包括您的文件)。但是,您可以使用file_get_contents來獲取php的輸出文件在另一臺服務器上
嘗試創建第三個文件使用PHP的所有權限授予複製/粘貼, 您可以開始將.php替換爲.txt然後讀取第二個文件的所有內容並將其轉換爲字符串。
從.PHP轉換頭文件改爲.txt並將其轉換成字符串以及..
最終形成以適當的地方都第一檔和第二檔第3檔和其重命名爲.PHP
重命名所有文件修改爲.php
你完成!
你的意思是include('domain2.com/file.php')? – 2010-10-06 19:01:34
@Linto P D:不,它應該是服務器機器上的內部路徑。例如。 '/ sites/domain1/html/file.php'和'/ sites/domain2/html/file.php'。 – Alec 2010-10-06 19:06:52
你可以通過HTTP包含,但這是完全不必要的帶寬,就好像這兩個文件在同一個服務器上(並且用戶可以訪問這兩個文件),那麼它們可以包含在適當的文件路徑中,而不是'http:// WWW ...' – chigley 2010-10-06 19:12:28