20

我對php比較新。有一件非常基本的事情讓我感到困擾。我明白,PHP是用來使網站動態。我也明白,PHP是可用於製作動態網站的許多服務器端腳本語言之一。什麼時候用index.php代替index.html

但是,我不明白的是,我什麼時候需要使用index.php頁面。舉個例子,如果我在我的索引頁面上只有一個簡單的登錄頁面,它也可能只是一個簡單的html頁面。對?那麼爲什麼我想讓它index.php而不是index.html?

一個示例情況的例子會很好。

+0

你要仔細考慮。對此沒有嚴格的規定。如果頁面只包含html,則可以使用,因爲在功能上,它不會有任何區別。 – itachi

回答

35

當您希望在該文件中執行php代碼時,您將不得不選擇PHP擴展名(.php)。 PHP代碼是在開頭<?php<?與結束?>標籤之間的代碼。

當沒有PHP代碼應該執行時,您可以使用.html擴展名。

通常當使用.php擴展名時,你告訴web服務器,它應該使用php解釋器在文件傳遞到瀏覽器之前處理它。 PHP解釋器將通過PHP代碼的輸出替換<?php?>之間的所有內容。就像你手動寫入一樣。處理後的文件將被傳送到瀏覽器。

但是,使用.php擴展名告訴Web服務器處理php代碼是可配置的。如果你想要,你也可以使用其他文件擴展名。

還有一件事應該指出。當你只鍵入URL路徑(不包括文件名),如:

http://www.myserver.com/ 

有擴展的(文件名)命令其Web服務器(Apache)的搜索索引文件。例如,apache配置可能包含如下部分:

<IfModule mod_dir.c> 
     DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm 
</IfModule> 

這意味着按上述順序搜索索引文檔。這意味着如果您將index.html和index.php放在同一個文件夾中 - 並且具有上述配置 - 則始終是索引。 html將由服務器交付。如果你喜歡保持形式和不HTML, 使用數據,並保持在PHP格式是好的使用PHP頁面基本頁面 :

+0

非常好的答案,但速度怎麼樣?如果您使用不必要的php代碼來包含html代碼,您是否可以直接寫入index.html,從而使頁面變慢? – henk

+0

@rave如果使用擴展名「.html」,則不執行PHP。 – hek2mgl

+0

是的,我明白。但我的意思是:什麼更快,例如:index.html =「...

部分文字

...」或index.php =「... <?php include'somehtmlfile.html';?> somehtmlfile.html =」...

部分文字

...「,所以你可以直接將'somehtmlfile.html'的代碼寫入index.html中,或者你可以使用index.php,然後將一些html代碼輸出到其他文件中,但是這會讓你的頁面變慢嗎? – henk

4

您可以使用它,無論你喜歡。

但我和我假設大多數人使用的一種方法是讓所有頁面的php文件。這是因爲你可以在PHP文件中包含一個html文檔並顯示它。但是你不能從一個html文件做php查詢,所以只需要使用php就可以輕鬆地添加一些php腳本。

的index.php:

<?php 
$var = 5; 
?> 
<html> 
<head> 
<title>My Page</title> 
</head> 
<body> 
<h2>Your variable was <?php echo $var; ?></h2> 
</body> 
</html> 
2

這是怎麼一回事,因爲有時你可能寫在index.php一些邏輯。就像您可能會檢查用戶是否已登錄一樣,然後將用戶重定向到某個特定頁面。您也可以在移動設備的情況下進行基於設備的重定向。

你總是可以選擇創建index.html,但是你不知道你什麼時候可能需要有一些邏輯。

4

默認情況下,Apache服務器需要一個文件,擴展名爲.php解析裏面的PHP代碼。不過,如果你願意,你可以通過在配置文件中添加一行來配置你的服務器,以便使用帶有PHP代碼的任何擴展名的文件。您可以自己編輯apache,以支持.html擴展名。

5

無論您使用index.php還是index.html,這都沒什麼大不了的。你可以使用任何一種。唯一的事情是你需要PHP(或任何其他服務器端腳本語言),使您的網站動態。

就像你有一個登錄頁面一樣,你可以將它作爲inde.html,但是你的邏輯要麼必須位於不同的文件中,要麼嵌入在HTMl中。

6

如果您服務於每一個頁面.PHP它不會傷害一個網站。 Apache的服務速度非常快,更不用說只包含靜態html的服務器。

作爲一名初學者,您可能會發現php會使您受益,因爲您可以創建簡單的模板。網站頁眉和頁腳包括例如可以寫入一個文件,然後包含在所有其他頁面。

2

簡而言之,您可以輕鬆訪問index.html文件並獲取其下的數據。但是index.php很難訪問。對於你的簡單應用程序,index.html將會訣竅。如果您正計劃一些大的和安全的應用程序去的index.php

0

要檢查的文件擴展名的優先當前設置的Apache2中使用Linux

/etc/apache2/mods-enabled/dir.conf

1

我也有同樣的問題隊友。但是,我認爲.php比.html更好,因爲它更具有動態性,你還可以做一堆很酷的東西。

相關問題