10

現時点では、このようなファイルがあります

<?php
if(some condition)
{
    //Dont allow access
}
else
{
    echo "<html>My HTML Code</html>";
}
?>

しかし、phpファイルを短くきれいに保つために、このようなことをしたかったのです。

<?php
if(some condition)
{
    //Dont allow access
}
else
{
    //print the code from ..html/myFile.html
}
?>

どうすればこれを達成できますか?

4

8 に答える 8

17

HTMLコンテンツを別のテンプレートとして保存し、それを含めるだけです

<?php
if(some condition)
{
    //Dont allow access
}
else
{
    include ("your_file.html");
}
?>

また

<?php
if(some condition)
{
    //Dont allow access
}
else
{
    readfile("your_file.html");
}
?>

readfileよりも高速でメモリ使用量が少ないfile_get_contents

于 2013-03-07T11:45:18.883 に答える
12

あなたはPHP Simple HTML DOM Parserを見ているかもしれませんが、あなたのニーズには良い考えです! 例:

// Create a DOM object from a string
$html = str_get_html('<html><body>Hello!</body></html>');

// Create a DOM object from a URL
$html = file_get_html('http://www.google.com/');

// Create a DOM object from a HTML file
$html = file_get_html('test.htm');
于 2013-03-07T11:51:01.853 に答える
3

次のような機能を使用する

include()
include_once()
require()
require_once()
file_get_contents()
于 2013-03-07T11:56:36.847 に答える
3

このコードを使用

if(何らかの条件)
{
    //アクセスを許可しない
}
そうしないと
{
    echo file_get_contents("your_file.html");
}

また

if(何らかの条件)
{
    //アクセスを許可しない
}
そうしないと
{
    require_once("your_file.html");
}

于 2013-03-07T11:49:52.143 に答える
2
<?php
if(some condition)
{
    //Dont allow access
}
else
{
    echo file_get_contents("your_file.html");
}
?>

これでうまくいくはずです

または、nauphalの答えが言うように、単に使用しますinclude()

ファイルが存在しない場合、問題が発生する可能性があることを忘れないでください (そのため、コンテンツをインクルードまたは取得する前に確認してください)。

于 2013-03-07T11:45:56.693 に答える
2

より堅牢なソリューションのためにnauphalの答えを拡張する..

<?php
if(some condition)
{
    //Dont allow access
}
else
{
    if(file_exists("your_file.html"))
    {
       include "your_file.html";
    }
    else
    {
      echo 'Opps! File not found. Please check the path again';
    }
}
?>
于 2013-03-07T11:50:08.307 に答える
1

HTMLファイルを含めたいと思っているか、質問を誤解していると思います.

<?php
if(some condition)
{
    //Dont allow access
}
else
{
    include ("..html/myFile.html");
}
?>
于 2013-03-07T11:46:49.060 に答える
-1

方法 1:

ob_start();
include "yourfile.html";
$return = ob_get_contents();
ob_clean();

echo $return;

方法 2: CTPPSmartyなどのテンプレートを使用します。

$Templater -> params('ok' => true);
$Template -> output('template.html');

テンプレートhtmlで:

<TMPL_if (ok) >
ok is true
<TMPL_else>
ok not true
</TMPL_if>

他のテンプレート作成者にも同じ考えがあります。テンプレート作成者の方が優れています。テンプレートを標準化し、すべてのプリミティブ ロジックをテンプレートに送信するのに役立ちます。

于 2013-03-07T11:59:18.450 に答える