我已经构建了一个独立的php聊天应用程序。与经典的localhost / chat一起使用时效果很好,但我需要它在已经拥有的html页面上运行。是否必须严格使用html,答案是否定的。问题是,我知道浏览器可以呈现html,但不能呈现php。
我真的很想知道我是否可以将php应用程序导入网站。聊天应用程序由3个文件组成,其中2个是php,用于定义表单,外观和发布方法,第3个是log.html,用作转储位置,这是该应用程序显示消息,联系用户的方式,离开用户等
我尝试了几种不同的方法。
-尝试使用iframe
不好。它显示原始的php代码
-将所有内容放在wamp的www文件夹中,尝试“要求” html页面中的文件
不好,什么也不显示。
我真的没有代码可以炫耀,我已经将所有功能分开工作,除了我需要在我的contact.html页面内部使用php来工作。
答案 0 :(得分:0)
听起来您根本不懂HTML或PHP。您说:“问题是,我知道浏览器可以呈现html,但不能呈现php。”好像您在帮我们一个忙时,所有的事情都会使我们感到困惑,然后您在评论中攻击我们。只要浏览器通过HTML发送到客户端,浏览器就可以100%呈现PHP文件,并且您认为您的PHP应用程序现在可以正常运行,所以我不确定您是否通过浏览器对其进行了测试。也许您是从命令行使用PHP的,但没有图形界面,任何HTML代码(例如您说过的形式)都将被简单地打印到控制台中,这对您来说应该很明显浏览器收到相同的内容就会将其呈现为HTML。
要向您证明这一点,只需看看facebook:
最后,一些演示代码证明了我的观点:
<?php
$thingA = "dogs";
$thingB = "cats";
$finalThing = $thingA . $thingB;
?>
上面的代码可以很好地工作,$ finalThing将是“ dogscats”,并且您的服务器将获取文件的输出(不发送任何内容)并将其作为HTML发送。
<?php
$thingA = "dogs";
$thingB = "cats";
$finalThing = $thingA . $thingB;
echo $finalThing;
?>
上面的代码将完成第一个示例所做的所有操作,但是输出“ dogscats”将作为HTML发送到客户端。这样只会呈现文本“ dogscats”,就好像您的HTML文件中只包含那些字符(没有html标记,body标记,meta标记或其他任何东西)。
<?php
$thingA = "dogs";
$thingB = "cats";
$finalThing = $thingA . $thingB;
echo "<!doctype html>";
echo "<html lang='en'>";
echo "<body>";
echo "\t<p> " . $finalThing . "</p>";
echo "</body>";
echo "</html>";
?>
上面的代码将打印一个有效的HTML文件(没有meta标签或许多其他有用的东西,但是很抱歉,我不想写太多,还有另一个示例),它看起来应该与前面的示例完全一样,但是带有屏幕上显示的文本位于p
标签中,而不是仅位于此处的原始文本。
<!doctype html>
<html lang="en">
<head>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<meta charset='UTF-8'/>
<title>Website</title>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script>
</head>
<body>
<?php
$thingA = "dogs";
$thingB = "cats";
$finalThing = $thingA . $thingB;
echo "\t<p> " . $finalThing . "</p>";
?>
</body>
</html>
最后一个示例是所有示例中最好的,因为它表明PHP文件只是带有<?php ?>
标签的HTML文件。这些标记由PHP解析,评估,并且将需要打印在HTML文件的中间(或任意位置)的所有内容都打印在此处。然后,生成的HTML文件(包括原始HTML和php标记的结果)将发送到客户端。