簡體   English   中英

何時使用 index.php 而不是 index.html

[英]when to use index.php instead of index.html

我對 php 比較陌生。 有一件非常基本的事情一直困擾着我。 我知道 php 用於使網站動態化。 我也知道 php 是可用於制作動態網站的眾多服務器端腳本語言之一。

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

示例情況的示例會很棒。

當您希望在文件中執行 php 代碼時,您必須選擇 PHP 擴展名 (.php)。 PHP 代碼是<?php<? 和結束?>標簽。

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

通常,當使用 .php 擴展名時,您是在告訴 Web 服務器,它應該使用 php 解釋器來處理文件,然后才能將文件傳送到瀏覽器。 然后,php 解釋器將用 PHP 代碼的輸出替換<?php?>之間的所有內容。 就像您手動編寫一樣。 處理后的文件將被傳送到瀏覽器。

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

還有一點需要指出。 當您只輸入 url 路徑(沒有文件名)時:

http://www.myserver.com/

網絡服務器 (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將由服務器提供。

如果您將每個頁面都作為 .php 提供,它不會損害網站。 Apache 為任何 php 提供服務都非常快,更不用說只包含靜態 html 的了。

作為初學者,您可能會發現 php 會讓您受益,因為它允許您創建簡單的模板。 例如,站點頁眉和頁腳包含可以寫在一個文件中,然后包含在所有其他頁面中。

無論您使用 index.php 還是 index.html,這都不是什么大問題。 你可以使用任何一個。 唯一的問題是您需要 PHP(或任何其他服務器端腳本語言)來使您的站點動態化。

就像您有一個登錄頁面一樣,您當然可以將其設為 inde.html,但您的邏輯要么必須在不同的文件中,要么必須嵌入到 HTMl 中。

您可以使用您喜歡的任何一種:如果您更喜歡保留不使用 HTML 數據的表單和基本頁面,並且保留使用 php 格式的 php 頁面,那很好。

但是我和我假設大多數其他人使用的一種方法就是制作所有頁面的 php 文件。 這是因為您可以在 php 文件中包含一個 html 文檔並以相同的方式顯示它。 但是您不能從 html 文件進行 php 查詢,因此很容易始終使用 php,以防萬一您想向其中添加一些 php 腳本。

索引.php:

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

默認情況下,apache 服務器需要一個擴展名為 .php 的文件來解析其中的 PHP 代碼 但是,如果您願意,您可以通過在配置文件中添加一行來配置您的服務器,以使用帶有任何擴展名的文件,其中包含 PHP 代碼。 您可以自己編輯 apache 以支持 .HTML 擴展名中的 php。

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

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

簡單來說,你可以很容易地訪問index.html文件並獲取它下面的數據。但是index.php很難訪問。 對於您的簡單應用程序,index.html 可以解決問題。 如果您正在計划一些大型且安全的應用程序,請訪問 index.php

我對 php 比較陌生。 有一件非常基本的事情一直困擾着我。 我知道 php 用於使網站動態化。 我也知道 php 是可用於制作動態網站的眾多服務器端腳本語言之一。

但是,我不明白的是我什么時候需要使用 index.php 頁面。 例如,如果我的索引頁面上只有一個簡單的登錄頁面,它也很可能只是一個簡單的 html 頁面。 正確的? 那我為什么要使用 index.php 而不是 index.html 呢?

示例情況的示例會很棒。

例如,在我的index.php或另一個主頁中,我主要使用 php,因為我在網站的其余部分使用了帶有它們的變量:

<?php 
     $sitepath="http://www.example.com/public";
     $author="your name here";
?>

因為我<?php echo $sitepath ?>每次我在我的網站上鏈接圖像時,它都不會<?php echo $sitepath ?>或其他東西。 因為我一直在重用這個名字,所以我使用.php來獲得那個服務,因為如果我使用這個名字,我可以全局更改它。

我認為像404.htmlaboutus.htmlViewOneBlogPost.html這樣的簡單頁面可能是 HTML 頁面,您可能不需要任何功能/變量。

使用 linux 檢查 apache2 中文件擴展名優先級的當前設置

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

好吧,如果您有幾個簡單的頁面,其中代碼不會重復很多,那么您可以使用 HTML。 但是相信我,如果你有一個 HTML 格式的網站,每個文件超過一千行,你會想要使用 PHP。 為什么? 因為requireinclude 當您需要使用布局時,這些將清理您的代碼,因此您無需繼續復制布局頁眉、頁腳等的孔代碼......當您需要插入內容時,維護起來真的很困難,而且還有很多代碼的方式。

這里有一些關於它的文檔

https://www.php.net/manual/en/function.include.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM