2009-09-15 47 views
1

我做了一個表單處理,並將代碼分解爲不同的文件以保持整潔。如何使用HTTPS包含文件 - PHP

現在我爲https安全設置表單。

我拉入我的頁面的所有文件都必須被稱爲https嗎? 在這種情況下,我不能再使用include();因爲它不再允許相對路徑?

解決方案是使用file_get_contents();?或者只有(主)頁面本身需要被稱爲https?

+0

您可能還希望查看Smarty等表示層 - 這對代碼的清晰度有很大的幫助。 – 2009-09-15 21:39:23

回答

5

這聽起來像你是混淆術語。 HTTPS是用於使用SSL或TLS加密從服務器請求頁面的協議。這與您爲請求提供服務的方式不同。

在您的PHP源代碼包括處理服務器端。所有包含將在PHP將該頁面傳遞給您的Web服務器以通過TLS鏈接返回之前完成。

file.php:

<?php 
include 'fileA.php'; 
include 'fileB.php'; 
?> 

在上述示例中,用戶代理(瀏覽器)永遠不會看到fileA.php或fileB.php。頁面請求作爲單個文檔返回。您可以通過https://my-server.com/file.php來申請,在這種情況下,您只需要這些。

+0

謝謝先生。其他人困惑了我。 – chris 2009-09-15 21:35:29

4

如果文件位於同一臺服務器上,則不需要更改任何內容。

include(「file.php」);

將工作得很好。

此外,如果你要包括從諾特爾HTTPS服務器上的文件,只要你有正確的TLS庫設置,HTTPS是沒有問題的

包括(「https://anotherserver.com/file.php」);

將工作,只要其他服務器爲PHP提供服務並且不執行它。

+0

我以爲PHP5 include();與絕對路徑不工作...包括與https一個例外? – chris 2009-09-15 21:39:05

+0

沒有。服務器上的路徑與網站上的路徑不同。所以site.com/path可能是/home/www/html/site.com/path。包括查看服務器文件系統的路徑。 – 2009-09-15 21:41:03

+0

絕對路徑在PHP 5中與include()一起使用。 – 2009-09-15 22:51:18