【问题标题】:How can I echo the whole content of a .html file in PHP?如何在 PHP 中回显 .html 文件的全部内容?
【发布时间】:2012-03-21 08:13:58
【问题描述】:

有没有办法在 PHP 中回显 .html 文件的全部内容?

例如,我有一些 sample.html 文件,我想回显该文件名,因此应该显示其内容。

【问题讨论】:

标签: php html echo


【解决方案1】:

如果您想确保 HTML 文件不包含任何 PHP 代码并且不会作为 PHP 执行,不要使用include 或@987654322 @。只需这样做:

echo file_get_contents("/path/to/file.html");

【讨论】:

    【解决方案2】:

    只需使用:

    <?php
        include("/path/to/file.html");
    ?>
    

    这也会呼应它。这还具有执行文件中的任何 PHP 的好处。

    如果您需要对内容做任何事情,请使用 file_get_contents(),

    例如,

    <?php
        $pagecontents = file_get_contents("/path/to/file.html");
    
        echo str_replace("Banana", "Pineapple", $pagecontents);
    
    ?>
    

    这不会执行该文件中的代码,因此如果您希望它起作用,请小心。

    我通常使用:

    include($_SERVER['DOCUMENT_ROOT']."/path/to/file/as/in/url.html");
    

    这样我就可以在不破坏包含的情况下移动文件。

    【讨论】:

    • 感谢您的快速回复:) 你能给我写个例子吗?我编辑了我的问题。谢谢。附言您没有代码后:“只需使用:”?
    • 啊,忘记正确缩进了!
    • readfile 有效,但 include 似乎不适用于图像.....header('Content-Type: image/png'); include('test.png');exit; 显示“损坏”的图像。
    【解决方案3】:

    你应该使用readfile():

    readfile("/path/to/file");
    

    这将读取文件并将其通过一个命令发送到浏览器。这与以下内容基本相同:

    echo file_get_contents("/path/to/file");
    

    除了file_get_contents() 可能会导致脚本在处理大文件时崩溃,而readfile() 不会。

    【讨论】:

    • 有什么方法可以先检查文件夹中是否存在该文件,如果存在,则执行上述命令?
    • file_exists() 可以检查该名称的文件或目录是否存在,is_file() 可以用于检查文件是否存在并且是常规文件。在您的情况下,可能应该使用is_file()
    • 奇怪,但是当我将 file_get_contents 更改为 readfile 时,它​​在底部添加了 1191,我不知道这个数字是从哪里来的 :) 有什么想法吗?
    • 你使用echo readfile()吗?因为readfile()返回的是文件的长度(好像是1191字节),如果你在readfile()之前加上echo,它会在你打印文件之后打印长度。只需删除 echo 即可。 :)
    • 哈哈哈,多么简单而正确的解释,有趣的是 :) 非常感谢(也感谢其他人),你帮了我很多,再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2021-12-15
    • 2012-05-28
    • 2018-08-30
    相关资源
    最近更新 更多