Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在HTML中包含选项_Php_Html_Css_Include - Fatal编程技术网

Php 在HTML中包含选项

Php 在HTML中包含选项,php,html,css,include,Php,Html,Css,Include,我正在开发一个类似于这个网站和谷歌的导航栏,假设我想创建更多具有相同布局的网站。我将如何使用html来实现这一点?我知道php有: <?php include "file name"; ?> 在HTML文档中有没有这样做的方法?HTML不是服务器端语言,它只是一种标记语言。它不提供任何在HTML代码中包含不同页面内容的方法。HTML根本不支持它 如果您愿意使用jQuery之类的库,那么这将是一项简单的任务。您可以使用jQuery方法获取HTML文件的内容,然后将其注入HTML

我正在开发一个类似于这个网站和谷歌的导航栏,假设我想创建更多具有相同布局的网站。我将如何使用html来实现这一点?我知道php有:

<?php include  "file name"; ?>


在HTML文档中有没有这样做的方法?

HTML不是服务器端语言,它只是一种标记语言。它不提供任何在HTML代码中包含不同页面内容的方法。HTML根本不支持它

如果您愿意使用jQuery之类的库,那么这将是一项简单的任务。您可以使用jQuery方法获取HTML文件的内容,然后将其注入HTMLDOM

$(document).ready(function() {
    $('#someDiv').load('/path/to/file.html');
});
请注意,远程文件将无法工作,因为。另外,请注意,如果你关心搜索引擎优化,这是一个坏主意。搜索引擎蜘蛛不会看到您实际的HTML代码,它们可能会错过您网站的重要部分

最好的方法是使用服务器端语言。如果您已经在提供动态内容,那么这样做更有意义。服务器端脚本在服务器机器上运行,然后脚本的结果(通常是HTML标记)被发送到客户端。 区别在于HTML标记是在pageload之前生成的,而不是在pageload期间或之后生成的,就像上面所示的方法一样。


<frameset cols="25%,50%,25%">
  <frame src="www.google.com">
  <frame src="www.facebook.com">
  <frame src="www.something.ocm">
</frameset>
框架标签在HTML5中不受支持!比亚尔

在W3C验证中,它会抛出一个错误,但在实际中它会起作用

“在HTML文档中是否有类似的方法?”

是的,有一个HTML等价物(如果我可以说的话)来包含文件,它被称为服务器端包含(SSI),它使用
.shtml
文件扩展名,但是这是Apache的一个特性。然而,根据最近的一项发现,它可以在Windows服务器上运行。有关SSI和的用法的更多信息

语法是:(在

这将查找一个名为
file.shtml
的文件并将其提取到根目录和“includes”文件夹中

注意:这可以是您想要的任何文件夹

您还可以包括不同的文件扩展名,例如
.htm
.html
.txt
甚至另一个
.shtml
文件

我管理一些具有该特定文件扩展名的网站,包含
.shtml
文件的好处是,您还可以在这些文件中执行更多包含操作,但不能使用我已经列出的其他文件扩展名

但是,此规则有一个例外。只要使用

AddHandler server-parsed .html
AddHandler server-parsed .shtml
AddHandler server-parsed .htm
Apache命令位于
.htaccess
文件中,并放置在服务器的根目录中

回到手头的事情。你可以在你想要包含文件的文档中的任何地方使用它

有关服务器端包含和其他可用选项的更多信息,请访问Wikipedia网站,或通过谷歌搜索术语“服务器端包含(SSI)”


只要让你的HTML文件通过PHP解析器运行,我对我所有的网站都会这样做,这样菜单和其他重复部分就可以只更新一次。你可以用你的.htaccess文件来实现这一点

这将使所有.htm和.html文件也通过PHP解析器运行

<FilesMatch "\.(htm|html)$">
    SetHandler application/x-httpd-php
</FilesMatch>

SetHandler应用程序/x-httpd-php
然后,您只需使用您在原始帖子中提到的相同方法,PHP解析器将处理您包含的任何内容,然后将其发送到浏览器,浏览器将解释HTML

请注意,PHP文件可以保存其中的任何内容,只有
标记中的部分实际上会被PHP解析器处理。因此,我有一个全部为HTML的部分,只有一个小部分大约有一年。下面是我的网站如何永远不会有版权过期,即使网站没有维护

<p>
    Copyright<sup>&copy;</sup> NAME. All Rights Reserved. <?php echo date("Y"); ?>.
</p>

版权所有©;NAME。保留所有权利。


首先,感谢您的帮助。我不想在框架中这样做,因为我必须为它设置一个固定的宽度等,这可能会导致一些问题,而且我已经有了自己的风格。我该如何做呢?java?代码示例?@littleboy我建议在实现此功能之前先阅读JavaScript,这里的所有内容都是基本的关于如何做到这一点,你似乎是一个编程新手,因此这是一个基本的问题。所以我的建议是在使用Snippet之前先研究语言。我是一个很新的:)刚开始上大学,但我现在只知道如何将文件加载到html中。到时候我会更详细地讨论js。@DarylGill是对的。关于这个问题,你应该多读一些。不过,我已经更新了答案,添加了一个简短的代码片段(使用jQuery库)。希望有帮助@LittleB0Y:
SSI包含可能是一个很大的麻烦,因为它们特别依赖于Apache。另外,HTML标记将不再是“纯粹的”。不要使用SSIs,只需使用服务器端语言即可。尽管如此,我工作的所有服务器都使用Apache。阿马尔说得好,我会在我的回答中记下这一点。OP问“我将如何使用html来实现这一点?”,因此,OP可以选择使用SSI@AmalMurali刚刚在微软网站上找到了这篇文章:@AmalMurali,也很感谢你的努力,但我会等Amal回答:)没关系,Amal,我明白你的意思:)@AmalMurali我错了。因此,请将此代码粘贴到我的.htaccess中,每当html文件在浏览器中刷新时,它将被识别为php,因此@LittleB0Y:不,它不会。如果您想使用PHP,请使用PHP。该指令强制处理程序处理所有匹配的文件。在这种情况下,
FilesMatch
指令将匹配所有HTML文件,所有这些文件都将作为PHP处理。@LittleB0Y,Amal是正确的,但也不错。全部