首页 > 解决方案 > 如何使用 php 将 echo 中的所有变量结果保存到 txt 文件中?

问题描述

我编写了一个生成随机标记的 php 脚本,我想将这些标记输出到 .txt 文件中。

下面是代码:

do {

    $token = bin2hex(random_bytes(2));

    echo("token: $token");

    $myfile = fopen("output.txt", "w+") or die("Unable to open file!");
    fwrite($myfile, $token);
    fclose($myfile);

} while ($token != "e3b0");

它回显多个标记,直到echo = e3b0,但是当我尝试将结果写入txt文件时,它只写入“e3b0”,这是将“echo”的所有结果写入txt文件的一种方式吗?

标签: php

解决方案


在我看来,最有效的方法是将所有事情都做足够的时间。这意味着我们必须循环并生成代码,但我们只需要写入文件一次,与 echo 相同。

$code = "start value";
while ($code != "e3b0"){
    $arr[] = $code = bin2hex(random_bytes(2));
}

echo $str = implode("\n", $arr);
file_put_contents("output.txt", $str);

这是做所有事情的时间,以及更优化的代码。
但是,如果您在浏览器中运行它,那么它不会在屏幕上的单独行上输出它们,只会在 txt 文件中输出。但是,如果您打开源代码,它将位于不同的行上。
那是因为我没有在 implode 中使用 br 标签。


推荐阅读