【问题标题】:PHP Compatibility Check Inside HTMLHTML 内部的 PHP 兼容性检查
【发布时间】:2015-07-04 17:42:36
【问题描述】:

我是否可以在 html 文件中使用此代码?

我已经尝试了所有可能的方法,但似乎无法让它发挥作用......

任何帮助将不胜感激..谢谢!

$isUDIDProtected=TRUE;
$compatibleVersions=array("8.1.1","8.1","8.0");

我是每个php文件的顶级代码

if ($isUDIDProtected)
{
        echo "<p style=\"color: red;\">This package is UDID protected! You must have your device registered to download this package</p>";
    }

    if ($compatibleVersions) 
{
        $uaString = $_SERVER["HTTP_USER_AGENT"];
        if (preg_match("/(.*) OS ([0-9]*)_([0-9]*)_([0-9]*) (.*)/", $uaString)) {
            $version = preg_replace("/(.*) OS ([0-9]*)_([0-9]*)_([0-9]*) (.*)/","$2.$3.$4", $uaString);
        } else if (preg_match("/(.*) OS ([0-9]*)_([0-9]*) (.*)/", $uaString)) {
            $version = preg_replace("/(.*) OS ([0-9]*)_([0-9]*) (.*)/","$2.$3", $uaString);
        }
        if ($version) {
            if (in_array($version, $compatibleVersions)) {
                echo "<p style=\"color: green;\">This package is compatible with your iOS version :)</p>";
            } else {
                echo "<p style=\"color: #FFCC00\">This package is not comfirmed to work on your iOS version</p>";
            }
        }
    }

html文件在下面

<ul data-role="listview" data-inset="true">
<li data-role="list-divider"><center>Compatibility</center></li>
<li><center>(show yes or no)</center></li>
</ul>

【问题讨论】:

    标签: php html iphone


    【解决方案1】:

    您的代码是 PHP 代码。它在“html”文件中不起作用。您需要将它放在一个 PHP 文件中(带有相应的 php 标签)并通过服务器运行它。 话虽如此,您可以拥有一个包含代码的“compat.php”文件:

    $compatibleVersions=array("8.1.1","8.1","8.0");
    
        if ($compatibleVersions) 
    {
            $uaString = $_SERVER["HTTP_USER_AGENT"];
            if (preg_match("/(.*) OS ([0-9]*)_([0-9]*)_([0-9]*) (.*)/", $uaString)) {
                $version = preg_replace("/(.*) OS ([0-9]*)_([0-9]*)_([0-9]*) (.*)/","$2.$3.$4", $uaString);
            } else if (preg_match("/(.*) OS ([0-9]*)_([0-9]*) (.*)/", $uaString)) {
                $version = preg_replace("/(.*) OS ([0-9]*)_([0-9]*) (.*)/","$2.$3", $uaString);
            }
            if (isset($version) && in_array($version, $compatibleVersions)) {
               echo "<p style=\"color: green;\">This package is compatible with your iOS version :)</p>";
            } else {
               echo "<p style=\"color: #FFCC00\">This package is not comfirmed to work on your iOS version</p>";
            }
        }
    

    然后,在另一个文件“htmlPage.php”中,类似:

    <?php 
    $isUDIDProtected=TRUE;
    if ($isUDIDProtected)
    {
            echo "<p style=\"color: red;\">This package is UDID protected! You must have your device registered to download this package</p>";
    die();
        }
    ?>
    <ul data-role="listview" data-inset="true">
    <li data-role="list-divider"><center>Compatibility</center></li>
    <li><center><?php include "compat.php" ?></center></li>
    </ul>
    

    【讨论】:

    • 不应该把htmlPage.php文件放在.html文件里面吗?
    • 不,“htmlPage.php”应该是一个页面本身。如果将它放在“html”文件中,您的代码将无法工作,因为它不知道如何解析 PHP 代码。它只会将 "" 显示为纯文本。
    • 比我在我的html文件中放置什么来加载compat.php中的两个回声
    • 您不应该使用“html”文件。您应该有一个 php 文件,例如我提到的“htmlPage.php”,然后在其中包含“compat.php”文件,如我在示例中所示。如果您不将代码包含在 php 标签“”中,则可以在 php 文件中编写 html 代码。因此,如果您创建我提到的两个文件并从您的服务器运行“htmlPage.php”(例如:“localhost/htmlPage.php”,而不仅仅是双击它并在浏览器上运行,因为它不会解析 php) ,它应该可以工作。
    • 我希望将顶部代码放在每个 php 文件中并检查它是否与第二个代码兼容...
    【解决方案2】:

    需要根据if else构造情况在html代码中的php开始和结束标签下添加php代码。

    【讨论】:

    • 是的,我假设代码已写入 php 扩展文件。不在具有 .html 扩展名的文件中。上面的 php 代码仅在具有 .php 扩展名而不是具有其他扩展名的文件的情况下才有效。因此,请确保您在 php 扩展文件中编写代码,此外,我们还可以使用 .htaccess 文件在 Web 浏览器中将 php 文件显示为 .html。
    猜你喜欢
    • 2013-10-07
    • 2020-01-21
    • 2013-07-25
    • 2021-12-12
    • 2015-06-06
    • 2016-11-13
    • 2018-07-29
    • 2019-02-08
    • 1970-01-01
    相关资源
    最近更新 更多