3

ファイル拡張子 .phtml を理解するのに苦労しています。私が読んだことから、それは html と php を一緒に使用する方法であるはずです (間違っている場合は修正してください)。私がやろうとしていることは非常に単純です.php変数があり、それが特定の条件を満たす場合、他のhtmlコードを実行する必要がない場合は、いくつかのhtmlコードを実行する必要があります. 私が持っているコードは次のとおりです。

<html>
    <head>
    </head>
    <body>

<?php
$code = "dk";
?>

<?php if($code == "dk"): ?>
<p>
1</p>    

</br>


<?php else: ?>
<p>
2</p>     

</br>

<?php endif; ?>

    </body>
</html>

.php ファイルとして保存して実行すると、出力は "1" しかありませんが、.phtml では "1 2" になります。誰かが私に理由を説明できますか?

4

4 に答える 4

2

PHP ファイルの長所 / 短所の 1 つは、PHP と HTML を簡単に混在させることができることです。

あなたの場合、サーバーは .phtml で終わる PHP ファイルとして解釈するように構成されていないと思うので、PHP は完全に無視されます。「1 2」を出力するページのページソースを見て、それが正しいかどうかを確認してください。

任意の拡張子を PHP として解釈することができます。Apache を実行していて、.phtml も解析したい場合は、次のような行を追加します。

AddType アプリケーション/x-httpd-php .php .phtml

トリックを行う必要があります。まだ mod_rewrite を使用していない場合は、別の拡張機能を選択すると、PHP を使用していることを隠すことができます。

于 2013-06-11T10:06:34.603 に答える
2

.php/.phtml拡張機能を実行するように構成する必要があるため、

AddType application/x-httpd-php .php .phtml .html をファイルに追加して、 httpd.confphtml ファイルを実行します

それ以外の場合は、上記のコードを保存しxyz.phtmlて実行した場合のように、コード ブロック全体が表示されます。http://localhost/xyz.phtml

編集

コメントで提供された URL の後、リンクを確認したところ、PHP コードが実際にソースの表示でレンダリングされていることがわかりました。このページのソースを表示して自分で確認してください1 2。論理的な実装部分に入ることなく、暗黙のうちに PHP 論理コードも誘導されたことを理解できませんでした。

リンク提供

于 2013-06-11T10:04:26.893 に答える
1

.phtml ファイルと .php ファイルに違いはありません。どちらも php コードであることが意図されており、HTML 部分が含まれる場合があります。

問題は、サーバーが .phtml ファイルの処理方法を認識していないことです。ファイル拡張子をphpに変更するか(通常、PHPをインストールするとサーバー設定が自動的に変更されます)、swapneshまたはJ Griffithsの回答を受け入れることができます。

実際、PHP は任意の拡張子を持つ任意のファイルを解析できます。ヘッダーが最も重要なので、これは問題ではありません*)。

あなたのコードは PHP の観点からは正しいので、サーバー設定を変更する必要があります。

*) 一部の古い Internet Explorer ブラウザーでは可能です。

于 2013-06-11T10:09:40.833 に答える
0

これを試して:

<p>
<?php echo (($code == "dk") ? "1" :"2"); ?>
</p>
</br>

これは .php と .phtml の両方で機能します

冗長なコードを実行している理由がわかりません。これはコードの最適化でもあります。

于 2013-06-11T10:04:55.217 に答える