iis 支持html执行php输出
2012-07-25 10:50:23| 分类: PHP|举报|字号 订阅
在HTML中有个简单的的PHP随机数需要输出,例如:
<td background="/images/swt1_02.gif" width="239" height="38">
<ul style="font-size:14px; color:#FFF; width:220px; height:27px; line-height:27px; margin-left:10px; "><li>目前有<span style=" font-size:14px; font-weight:bold; color:#FF0;">
<?php
echo rand(9,99);
?></span>位患者正在和医生沟通</li></ul>
</td>
发现PHP语句未执行(默认本身是不执行的),介于我的服务器是IIS7+PHP构架的,作如下修改:
Internet 信息服务(IIS)管理器->处理程序映射,添加模块映射,如下图,确定后重启,OK!
另附:如果是Apache的情况
1,修改httpd.conf,命令Apache把HTML当作PHP,
需要修改服务器里的http.conf文件。
在Apache的httpd.conf中加入以下语句:
AddType application/x-httpd-htm .htm
Action application/x-httpd-htm “/php4/php.exe”
一般的虚拟主机,我们无法修改httpd.conf,但我们可以通过修改.htaccess来实现。
2,修改.htaccess
NEW PHP Add Handlers
SolutionIf you need an add handler for PHP please use the following:
#PHP5
AddHandler application/x-httpd-php5 .html .htm
#PHP4
AddHandler application/x-httpd-php4 .html .htm
That is if you need to parse .html files or any other extension as PHP you can place that in your .htaccess file.
说明:以上方法它就是告诉服务器,什么样后缀的文件,才调用php引擎来解释,浏览器可以直接输出的也要经过php引擎,这样会降低效率,不推荐使用。
再附上其它解决思路:
之前在html页面中想要做一点动态的东西,都是使用iframe框架插入,感觉这样很不理想。今天做426Space的登录部分的时候,需要在index.html中运行PHP判断登录程序,所以百度和google了很久,没有发现解决方案,后来从DZ论坛上得到一个思路,使用js技术来实现。如下:
首先,把PHP程序写到一个外部的PHP文件中,然后做JS的输出与PHP的输出结合起来,程序举例如下:
<?php
$uid = $_COOKIE["myname"];
if(!empty($uid)) {
print <<<END
document.write(‘<h5>hjhjhjhgfhg</h5>’);
END;
} else {
print <<<END
document.write(‘<h5>鬼画符广泛</h5>’);
END;
}
?>
其次,在html页面中需要放置该段程序的地方插入如下js代码:
<script src=”c.php?rand={eval echo rand(1, 999999)}” type=”text/javascript” language=”javascript”></script>
(其中c.php是刚才上面的文件存储名字)
这样就可以在html页面中运行动态程序了。在ASP、ASP.NET中也可以使用这样的思路。
另外可能JS输出在IE下面正常,而火狐和谷歌会自动刷新导致整个页面只有输出的随机数存在,可用以下JQ方法解决:
<script src="/images/js/j.js" language="javascript" type="text/javascript"></script>
<li>目前有<span style=" font-size:14px; font-weight:bold; color:#FF0;" id="sc1">
<script language="javascript" type="text/javascript">
var aa=Math.floor(Math.random()*100+1);
$("#sc1").html(aa);
</script>
</span>位患者正在和医生沟通</li>
iis 支持html执行php输出