我想知道有没有办法在仅使用html的另一个html中包含一些html内容?
PHP的替代品
<?php include("file.php"); ?>
Run Code Online (Sandbox Code Playgroud)
这可能吗?
编辑:
这引起了一些混乱,我需要的是"几乎是一个html标签",它具有在另一个中包含html文档的功能.
我的问题是,使用多个PHP includes()是否是一个坏主意.我问的唯一原因是因为我总是听到网站上有太多的样式表或脚本会产生更多的HTTP请求并减慢页面加载速度.我对PHP的想法也一样.
简单问题:require_once全球范围是?
例如:
<?PHP
require_once('baz.php');
// do some stuff
foo ($bar);
function foo($bar) {
require_once('baz.php');
// do different stuff
}
?>
Run Code Online (Sandbox Code Playgroud)
调用foo时,是否会重新解析baz.php?或者它是否依赖于主php文件中已经需要的文件(对于相同的包含文件连续两次调用require_once)?
我之前看过这个帖子,但它没有完全回答这个问题:
应该require_once"some file.php"; 出现在文件顶部的任何地方?
谢谢你的帮助!
使用Apache 2.2和PHP 5,在没有.php扩展名的情况下运行PHP的最佳方法是什么.例如,我有一个名为app.php的脚本,我喜欢将其作为调用
请注意,我仍然希望保留.php扩展名到文件,我没有mod_rewrite.不要使用index.php,因为它需要太多目录.
我确实找到了一种方法,将其添加到我的.htaccess中,
AddHandler server-parsed .php
SetHandler application/x-httpd-php
AddHandler application/x-httpd-php .php
Run Code Online (Sandbox Code Playgroud)
使用此页面,页面运行速度稍慢.我怀疑它在每个PHP页面上调用SSI.不知道有没有更好的方法来实现这一目标.
如果我有大量的函数,最好将它们全部保存在一个大文件中,或者将它们分成几个相关函数的文件会更好.通过更好,我的意思是更高效的可维护性和服务器处理请求.
例如,我现在将所有文件都放在一个名为的文件中include.php.但是如果有一个包含文件包括以下内容会更明智:
<?php
include('/functions/user.php');
include('/functions/admin.php');
include('/functions/content.php');
include('/functions/nav.php');
include('/functions/database.php');
include('/functions/other_junk.php');
?>
Run Code Online (Sandbox Code Playgroud) 基本上我很快就会推出一个网站,我预测会有很多流量.为方案而言,假设我每天会有1米独立.数据将是静态的,但我需要包括在内
我只会在另一个html页面中包含一个html页面,没有任何动态(我有我的理由,我不会透露这么简单)
我的问题是,表现明智更快
<!--#include virtual="page.htm" -->
Run Code Online (Sandbox Code Playgroud)
要么
<?php include 'page.htm'; ?>
Run Code Online (Sandbox Code Playgroud) 我想知道当前ESI模块的性能如何?我在网上看过一些关于清漆上的ESI性能实际上比实际情况慢的帖子.
说我有一个超过3500 esi包含的页面,这将如何表现?esi是为这种用途而设计的吗?
caching reverse-proxy varnish server-side-includes edge-side-includes
我最近将我的Mac升级到了OSX 10.10 Yosemite,它重置了我为Apache设置的一系列设置,包括我的虚拟主机设置.我已经恢复了所有这些,但我仍然无法让服务器端包含工作,他们在Mavericks和之前的Apache安装下工作得很好.
这是我的.SHTML文件中包含语句的示例:
`<!--#include virtual="/includes/branded-header.html" -->`
Run Code Online (Sandbox Code Playgroud)
这是httpd-vhosts.conf条目
`
<VirtualHost *:80>
ServerName v12b.local
ServerAlias www.v12b.local
DocumentRoot "/Users/my-name/Sites/v12b"
ErrorLog "/private/var/log/apache2/v12b.local-error_log"
CustomLog "/private/var/log/apache2/v12b.local-access_log" common
ServerAdmin my-name@myco.com
<Directory "/Users/my-name/Sites/v12b">
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
Require all granted
AddType text/html .shtml .html
AddOutputFilter INCLUDES .shtml .html
AddType application/x-httpd-php .html
</Directory>
</VirtualHost>`
Run Code Online (Sandbox Code Playgroud)
我检查了Apache文档和其他指南,因此我的username.conf和httpd.conf文件看起来是有序的.任何帮助将不胜感激.
谢谢!
我喜欢新的apache httpd 2.4,有很多新的酷东西!
ap_expr是这些新的非常有前途的功能之一,
..但是以下SSI代码段不能按预期工作:
{{if expr="v('HTTP_SESSION') =~ /-user=([^&]+)/"}}
{{set var="user" value="$1"}}
{{endif}}
Run Code Online (Sandbox Code Playgroud)
该如果是工作,但该变种没有设置!这没有任何意义.
error.log说:
.. AH01330: regex capture $1 is out of range
Run Code Online (Sandbox Code Playgroud)
doc(http://httpd.apache.org/docs/2.4/expr.html#other)令人困惑,附近没有样本.
我知道SSI有一个遗留(变通方法)开关..但是我不想使用它,因为旧的开始和结束标签都是强制 遗留的
做类似的正则表达式解析 - 技巧SetEnvIfExpr也没有帮助
php ×6
apache ×4
include ×3
caching ×1
function ×1
github-pages ×1
html ×1
html5 ×1
iframe ×1
macos ×1
mod-include ×1
mod-rewrite ×1
osx-yosemite ×1
performance ×1
regex ×1
require-once ×1
scope ×1
ssi ×1
varnish ×1