gpt4 book ai didi

php - 如何在不打印到页面的情况下将文本文件作为 PHP 包含在 PHP 中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:59:43 25 4
gpt4 key购买 nike

我正在为自己制作一个网页,该网页在页面加载时简单地重定向到其他网站列表中的一个。为了能够更轻松地编辑站点列表,我将列表移到了单独的文本文档中。在 PHP 代码中包含该文件后,浏览器将恢复解析 HTML,并在包含结束时再次返回。结果,我的代码被打印到屏幕上而不是被执行。我无法在文本文件中实现 PHP header 和标签,因为那样会破坏将其保持在外部的目的。就目前而言,我有另一个脚本,如果我想添加链接,它允许我将链接附加到文件。

index.php,我正在使用的文件

    <?php 
$array_content = array(include 'sites.txt');
header("location: ".$array_content[rand(0,9)]);
?>

sites.txt,我包含的文件

    "http://www.nsa.gov/"
,"http://www.youtube.com/watch?v=oHg5SJYRHA0"
,"http://leekspin.com/"

有没有办法只将文本文件插入 index.php,而不将其打印到屏幕上?

最佳答案

你不应该!

将其解析为文本(例如,通过去除空格内容并用逗号分隔)或者,不太优选的是,将内容设为 PHP 代码,然后将其包含在内 使用 include

将TXT文件解析为文本

您可能应该坚持将文件解析为文本 - 您可以使用 file()为此功能。 file() 读取整个文件并将其内容作为行数组返回(行尾仍然附加)。您可以使用此类数据做任何您需要的事情(例如,去掉逗号和空格)。

包含文件中的 PHP 代码

如果你选择前者(在TXT文件中包含PHP代码,如果你想让sites.txt公开可用,这是一个坏主意),那么你应该尽量不要污染全局命名空间。您可以使用其他答案提到的解决方案来实现它:

  • sites.txt 中:

    <?php
    return 'your string goes here';
  • 在你的脚本中:

    <?php
    $my_string = include('sites.txt');

最坏的解决方案——eval()

只是为了提供信息而包含它。如果您的 TXT 文件中有 PHP 代码,您可以使用 eval() 将其解析为 PHP 代码。但请记住 - eval() 是邪恶的,要不惜一切代价避免它。

关于php - 如何在不打印到页面的情况下将文本文件作为 PHP 包含在 PHP 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8396242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com