2016-07-07 84 views
-1

我正在編寫一系列網頁,我想在其中顯示每日時間的格式。我已經寫了一個PHP函數來做到這一點,並且當它與代碼的其餘部分位於同一個文件中時,該函數可以很好地工作。但是,我想在幾個相關的文件中完成這個轉換過程,所以我希望把這個函數放在一個外部文件中,我可以在需要時簡單地「包含」這個文件。TBut我不能讓「include」位工作。PHP包含調用失敗

下面是我使用列入過程的代碼:

<?php 
    include 'http://www.northcentralflaa.org/header.html'; 
    include 'http://www.northcentralflaa.org/d.sysadmin/f-time.php'; 
?> 

頭文件(在第一個「包括」行)顯示了沒有問題,但F-time.php文件在不帶

的error_log中文件告訴我:。

「[07-Jul-2016 11:12:03] PHP警告:include()[function.include]:無法打開 'http://www.northcentralflaa.org/d.sysadmin/f-time.php'收錄 (include_path ='。:/ usr/lib64/php:/ USR /共享/梨 ')在 /home1/northce1/public_html/d.sysadmin/admin-portal.php第19" 行

這似乎是告訴我 - 在「(包含路徑=' .:/usr/lib64/php:/ usr/share/pear')「 - 系統正在尋找子目錄中的一些文件,據我所知,它不存在。但正如我所說,第一個「包含」聲明完美地起作用。

FWIW,我也試着將HTML SSI包合過程:

<!--#include file="http://www.northcentralflaa.org/d.sysadmin/f-time.php" -->

(PHP的括號外,當然),我已經嘗試使用相對路徑,而不是兩個處理絕對路徑,無論是否有主角點。我檢查了目錄和文件名的拼寫。而且即使寫在基地網頁文件時的功能完美的作品,我也試着評論出全功能(在F-time.php文件),並僅導入線說

echo "The file was imported"; 

即使沒有出現。任何想法,我可以進一步尋找解決方案?

+1

是你自己的服務器嗎?那麼你不需要全面的http請求來加載這些文件。這是巨大的低效率,並迫使PHP做出自己的http請求,以響應首先加載原始腳本的http請求。如果它們是遠程的,那麼你不需要**加載遠程php文件,因爲你將執行這些腳本,並獲得它們的輸出,而不是原始的php代碼。 –

+0

此頁面還需要驗證,因此無法工作。 –

+0

Marc B - 不,這不是我自己的服務器。這些文件位於數百英里之外的服務器上。那麼,沒有辦法在多個文件中重複使用PHP函數,而無需複製並粘貼到每個文件中? –

回答

0

我發現了一個修復程序。我不能完全理解它爲什麼起作用,但如果我重寫第二個包括表示爲

include $_SERVER['DOCUMENT_ROOT'] . '/d.attic/f-time.php'; 

它按預期工作。 (重寫不需要第一個包含聲明,這讓我很困惑。)

0

包括對本地化文件路徑的調用,而不是URL。

<?php 
    include 'header.html'; 
    include 'd.sysadmin/f-time.php'; 
?> 
+0

我已經嘗試過了,正如我在原始發佈中提到的那樣。無論我如何調用這些文件,每次調用頭文件DOES都會起作用,並且每次都調用f-time.php文件FAILS。 –