使用HTML读取文本文件

时间:2011-12-21 02:11:36

标签: php html file variables

我想知道是否有办法读取文件的所有内容并将其存储在HTML中的变量中。

通过将PHP与HTML结合使用,我得到了一些不工作的代码:

<html>
    <body>
        <div>
            <?php echo "Current Prodi-G version: " . file_get_contents('/version.txt');?>;
        </div>
    </body>
</html>

此代码在解析和显示网页时呈现,但只显示; ...

4 个答案:

答案 0 :(得分:6)

HTML不是一种编程语言。这是一种标记语言。它简单地描述了事物的外观和布局方式。

PHP是一种编程语言,而不是标记语言。它执行逻辑并能够处理文件和其他东西。

你需要两者合并,做你想做的事。还有很多很好的HTML + PHP教程可以帮到你。搜索谷歌和此处。

这将为您提供文件中的每一行:http://www.ibm.com/developerworks/library/os-php-readfiles/

之后,您可以根据需要对其进行格式化和解析。我建议花一些时间在php.net(http://php.net/manual/en/tutorial.php)上或搜索谷歌搜索信息。有人做了你想做的事,我几乎是积极的。

编辑:

<html>
    <body>
        <script>
            <?php echo "Current version: " . file_get_contents('/version.txt');?>;
        </script>
     </body>
</html>

这不起作用,因为它告诉PHP将version.txt的内容放入页面的脚本标记中,或者更重要的是,将它放在您从中调用PHP代码的位置。< / p>

要显示它,PHP在代码的<?php ?>区域中生成的内容必须位于最终显示的HTML标记内。

例如:

<html>
    <body>
        <div>
            <?php echo "Current version: " . file_get_contents('/version.txt');?>;
        </div>
    </body>
</html>

因为HTML标记<script></script>应该包含 不可见 javascript代码,而<div></div>是一个通用标记,用于保存 可见 内容。您的示例不起作用,因为它将所有输出放在页面的不可见部分而不是可见部分。

答案 1 :(得分:3)

在php中这很容易......

<?php
    $filename = fopen('document_name', 'r'); 
    $file = fread($filename, filesize('document_name'));
    echo $file; 
    fclose($filename);
?>

这是你在找什么?

您还可以使用file_get_contents(),这对此更容易......

修改

在审核完您的编辑后,如果您只是想将“版本”输出到屏幕,那么这就是您的文件应该是什么样子......

<html>
<body>
    <?php echo 'Current version: ' . file_get_contents('/version.txt'); ?>
</body>
</html>

使用脚本标记告诉浏览器您将使用客户端脚本。的JavaScript。反过来,你不能简单地“回应”声明到屏幕上。不要误解我的错误虽然可以像这样使用javascript应用程序来实现它...

<html>
<head>
    <script>
        var text = <?php echo 'Current version: ' . file_get_contents('/version.txt'); ?>;
    </script>
</head>
<body>
    <script>
        document.write(text);
    </script>
</body>
</html>

...但除非你需要将值存储在javascript变量中,否则这有点过分。为了解决你脑海中的困惑,PHP脚本完全独立于Javascript脚本(尽管它们可以一起使用),并且必须作为单独的实体使用,即使它们都可以在文档中的任何位置使用。

答案 2 :(得分:1)

我想知道你是否指的是这样的东西:

<!doctype html>
<html>
<head>
<script>
var html = "<?php echo file_get_contents('/tmp/somefile.dat');?>";
</script>
</head>
<body>
<h1>Sample</h1>
</body>
</html>

答案 3 :(得分:0)

<html>
<body>
    <?php echo 'Current version: ' . file_get_contents('/version.txt'); ?>
</body>
</html>

是您问题的正确解决方案。可能不太清楚的是,您必须将文件保存为“.php”文件,而不是“.html”文件。

因此,要使此示例正常工作,您必须将文件命名为:version.php(您描述的问题是因为您的网页只显示分号),如果您命名的话就是这种情况您的文件version.html,并且在关闭php标记之后您有错误的分号。

正确:?>
错了:?>;