我正在处理索引。(php / html)页面,需要添加其他文件夹中的一些文件。我能够将这些文件保存为php或html。在使用<iframe>
而不是<?php include>
添加此类文件时,何时以及在何种情况下更好的一般规则是什么?
HTLM
<iframe src="example.html" width="1280" height="300">
PHP <?php include 'example.php'; ?>
答案 0 :(得分:5)
iframe基本上将您网页的某个区域转换为完全独立的网页:将执行完整的http请求以填充iframe,并且生成的内容将是其自己的不同网页,具有自己的DOM,自己的CSS规则等。字面意思是一个完全不同的wepbage恰好被卡在另一个的方形区域内。
PHP的include会加载并吐出一些html成为周围html的一部分。它将成为主要DOM的一部分,它将受主页的CSS规则约束...因为它不是一个单独的页面,它只是一个更大整体的一部分。
两者都有自己的优点/缺点,我们不能推荐任何一个,因为它们的使用取决于您的需求。
答案 1 :(得分:4)
他们完全不同。
简短回答
使用<?php include 'example.php'; ?>
LONG ANSWER
PHP文件实际上在服务器级别获取代码并插入它并执行该文件中的任何代码。完成所有PHP代码,然后将整个页面作为一个整体提供给客户端
iframe几乎只能用于将其他网站的内容插入您自己的内容中。它需要另外一个HTTP请求到你链接它的任何地方,并将它加载到它自己的特殊框中,并带有它自己的属性。
我永远不会将iframe用作包含。
有用的例子。假设您在网站上销售家具,并且想要放置房间建筑(您可以选择家具和颜色的布局等)。你找到了一个网站,里面有一个优秀的房间建造者,所以你的网站,你的网页之一,你只是iframe其他内容,所以你现在在你的网站上有一个房间建设者(而另一个网站不见于普通的观察者)。
答案 2 :(得分:2)
取决于您的需求是什么,因为他们做了完全不同的事情。我还想指出include
也可以处理.html
文件以及文本文件或其他任何内容。
如果您只想在同一页面上包含其他文件中的其他HTML内容,请使用include
。
<iframe>
会创建一个新的浏览上下文,并可能产生不良影响。例如,如果导航到iframe中的URL,则父文档将保留在同一URL中。
答案 3 :(得分:1)
好吧,你应该“永远不会”在你的网站上包含指向你自己网站的iframe。
因此,如果您想在页面中添加内容,请使用include
。
答案 4 :(得分:0)
iframe将内容检索留给客户端。 iframe可用于包含来自任何位置的内容。 php选项出现在服务器上,我相信只能包含本地内容。 这取决于你要实现的目标。
编辑:经过更多研究,
php.ini中的allow_url_include
控制您是否能够包含远程内容。
这显然会导致服务器检索该内容,因此会产生相关费用。