问题1:编写多个变量的最佳方法是什么?
我目前正在这样写它们。
fwrite($fp, $var1);
fwrite($fp, $var2);
fwrite($fp, $var3);
...etc
这会产生一长串健康的输出。
问题 2:如何在不写如下内容的情况下添加换行符和注释:
fwrite($fp, 'var1:');
fwrite($fp, &var1);
<br>?
问题1:编写多个变量的最佳方法是什么?
我目前正在这样写它们。
fwrite($fp, $var1);
fwrite($fp, $var2);
fwrite($fp, $var3);
...etc
这会产生一长串健康的输出。
问题 2:如何在不写如下内容的情况下添加换行符和注释:
fwrite($fp, 'var1:');
fwrite($fp, &var1);
<br>?
级联!您基本上可以将一堆变量/字符串组合成一个大字符串,然后在一个 fwrite 中将其全部打印出来。
IE:
fwrite($fp, "var1: " . $var1 . "\r\nvar2: " . $var2 );
ETC
最佳解决方案取决于用例。如果您可以更清楚地了解您正在编写什么样的数据,我们可以给您一个建议。但首先看看所有不同的文件系统功能。应该有你喜欢的:)
几个选项:
写出一个数组
$data = array('value 1', 'value 2', 'value 3');
file_put_contents(realpath('path/to/file'), $data);
或索引数组
$data = array('var 1' => 'value 1', 'var 2' => 'value 2', ...);
foreach($data as $var => $value) {
fwrite($fp, $var .': '. $value);
}
或者,如果您想包含换行符 ( \n
):
$data = array('value 1', 'value 2', 'value 3');
fwrite($fp, implode("\n", $data));
选项很多......更多细节=更好的帮助;)
另一种选择可能是考虑使用 Monolog ( https://github.com/Seldaek/monolog )。在脚本的开头添加如下内容:
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// create a log channel
$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::DEBUG));
然后每当你想输出一些东西时添加:
// add records to the log
$log->addDebug($var1);
$log->addDebug($var2);
$log->addDebug($var3);
最初需要做更多的工作,但从长远来看,您最终会得到一个更加灵活的解决方案。