您的位置:首页 > 编程语言 > PHP开发

iis 支持html执行php输出

2014-08-06 10:14 197 查看
在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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: