【问题标题】:How to put the a string into a text file in PHP?如何将字符串放入 PHP 中的文本文件中?
【发布时间】:2011-07-23 09:24:19
【问题描述】:

如何在 php 中将字符串放入 txt 文件中?

我想这样写字符串:

        1,hello,world!
        2,welcome

然后将这两行放在文件中。

【问题讨论】:

  • 我只想以列表样式输出结果。
  • 什么是“列表”? HTML 列表?你必须在你的表达中更加确定。没有人能读懂你的心思。如果您想在输出中添加<li> 标签 - 只需添加即可。
  • 为什么要用这些行存储数字?为什么不只存储行?
  • 您是要依次添加行还是一次全部添加?

标签: php file-io


【解决方案1】:

要写入 txt 文件:

<?php
$file = 'file.txt';
$data = 'this is your string to write';
file_put_contents($file, $data);
?>

在页面某处回显该文件的内容(请记住,该页面必须具有 .php 扩展名才能使 php 工作):

<?php
// place this piece of code wherever you want the file contents to appear
readfile('file.txt');
?>

编辑:

回答 cmets 提出的另一个问题:

将数据保存到文件时,原始代码是可以的,只需使用它即可。 回显文件中的内容时会出现不同的代码,所以现在它看起来像这样:

<?php
$contents = file_get_contents('file.txt');
$contents = explode("\n", $contents);
foreach($contents as $line){
   $firstComma = (strpos($line, ","))+1;
   $newLine = substr($line, $firstComma);
   echo $newLine."\n"; 
}
?>

就这样试试吧。我这里没有我的服务器,所以我无法测试它,但我相信我在那里没有犯任何错误。

【讨论】:

  • 我认为 readfile 比 include 更安全。以防万一
  • 但是如果我想使用这样的字符串(在上面)而不是列表样式的输出。我该怎么办?
  • 这样的输出通常不需要使用循环
  • 与其在“\n”(以及循环中的所有字符串操作)上爆炸,为什么不直接使用fgetcsv() 函数呢? op 存储数据的格式只是一个 csv 文件: $fileHandle = fopen('file.txt', 'r'); while($row = fgetcsv($fileHandle)) { echo $row[1].PHP_EOL; }(显然为此添加错误处理)
【解决方案2】:

您可以使用file_put_contents 将字符串写入文件。不确定输出到 HTML 是什么意思。
你只是想要回声吗?

【讨论】:

  • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
  • @Mysterion 鉴于 OP 问题的简单性,我个人认为这个答案确实回答了这个问题,因为它将“file_put_contents”标识为写入文件的一种方式。诚然,这不是一个非常详细的答案,但它就足够了,因为在 OP 的扩展范围内无法真正提供进一步的信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多