33

我对php比较陌生。有一件非常基本的事情一直困扰着我。我知道 php 用于使网站动态化。我也知道 php 是可用于制作动态网站的众多服务器端脚本语言之一。

但是,我不明白什么时候需要使用 index.php 页面。例如,如果我的索引页面上只有一个简单的登录页面,它也很可能只是一个简单的 html 页面。对?那我为什么要让它 index.php 而不是 index.html?

一个示例情况的例子会很棒。

4

10 回答 10

53

当您希望在文件中执行 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将由服务器传递。

于 2013-01-08T05:54:10.737 回答
9

如果您将每个页面都作为 .php 提供,则不会损害网站。Apache 可以非常快速地提供任何 php,更不用说只包含静态 html 的了。

作为初学者,您可能会发现 php 会让您受益,因为它允许您创建简单的模板。例如,站点页眉和页脚包含可以写入一个文件,然后包含在所有其他页面中。

于 2013-01-08T05:56:45.317 回答
7

无论您使用 index.php 还是 index.html,这都不是什么大问题。你可以使用任何一个。唯一的问题是您需要 PHP(或任何其他服务器端脚本语言)来使您的网站动态化。

就像您有一个登录页面一样,您当然可以将其设置为 inde.html,但您的逻辑要么必须在不同的文件中,要么必须嵌入到 HTMl 中。

于 2013-01-08T05:56:34.300 回答
6

您可以使用您喜欢的任何一个:如果您更喜欢保留不使用 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>
于 2013-01-08T05:54:50.257 回答
6

默认情况下,apache 服务器需要一个扩展名为 .php 的文件来解析其中的 PHP 代码。但是,如果您愿意,您可以通过在配置文件中添加一行来配置您的服务器,以使用具有任何扩展名的文件,其中包含 PHP 代码。您可以自己编辑 apache 以支持 .HTML 扩展名中的 php。

于 2013-01-08T05:55:02.063 回答
4

这是因为有时您可能会写一些逻辑index.php。就像您可以检查用户是否已登录,然后将用户重定向到某个特定页面。您也可以像移动设备一样进行基于设备的重定向。

你总是可以选择创造index.html,但你不知道什么时候你可能需要在那里有一些逻辑。

于 2013-01-08T05:54:59.303 回答
4

简单来说,你可以很容易地访问 index.html 文件并获取它下面的数据。但是 index.php 很难访问。对于您的简单应用程序 index.html 将起到作用。如果您正在计划一些大型且安全的应用程序,请使用 index.php

于 2013-01-08T06:02:55.270 回答
1

例如,在我的index.php主页或其他主页中,我主要使用 php,因为我在站点的其余部分中使用了带有变量的变量:

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

因为我<?php echo $sitepath ?>每次都在我的网站上链接一个图像,所以它不会损坏或什么的。由于我一直在重复使用该名称,因此我.php曾经能够拥有该服务,因为如果我使用该名称,我可以全局更改它。

我认为像404.htmlaboutus.html或之类的简单页面ViewOneBlogPost.html可能是 HTML 页面,您可能不需要任何功能/变量。

于 2018-05-06T20:28:00.363 回答
0

使用 linux 检查 apache2 中文件扩展优先级的当前设置

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

于 2016-01-20T19:07:11.387 回答
0

好吧,如果您有几个简单的页面,其中代码不会重复很多,那么您可以使用 HTML。但相信我,如果你有一个 HTML 格式的整个网站,每个文件超过一千行,你会想要使用 PHP。为什么?因为requireinclude。当您需要使用布局时,这些将清理您的代码,因此您无需继续复制布局页眉、页脚等的漏洞代码......当您需要插入内容并且有很多代码的方式。

这是一些关于它的文档

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

于 2020-09-15T20:58:42.380 回答