使用文件处理函数将逗号放在txt文件中

时间:2013-05-30 08:40:01

标签: php file-handling

这是我的代码

<?php

  $filename =  'names.txt';
  $file = fopen($filename, 'w');
  fwrite($file, implode(", ", $filename));

?>

我的names.txt文件数据是这样的

saad
Alex
Ashmil
Shumail
Fredrik

除了最后一个名字之外,我希望在每个名字后加上一个qoma。 。但我接受了“错误的论点传递给内爆函数”的错误。告诉我现在该怎么做?

预期output应为

saad, Alex, Ashmil, Shumail

5 个答案:

答案 0 :(得分:2)

您可以使用此代码:)

<?php
$filename =  'names.txt';
$file_read = fopen($filename, 'r');
$content = fread($file_read, filesize($filename));
$content = trim(preg_replace('/\s\s+/', ' ', $content));
$pieces = explode(" ", $content);
$file_write = fopen($filename, 'w');
fwrite($file_write, implode(", ", $pieces));
fclose($file_read);
fclose($file_write);?>

答案 1 :(得分:2)

这对我有用:)

    <?php

        $file = 'names.txt';
        $array = file($file); // Creates an array of each line
        $array = array_slice($array,0,-1); // Pops the last element of an array
        $string = implode(','.PHP_EOL, $array); // Implode
        file_put_contents($file, str_replace("\n","",$string));   
?>

并给了我预期的输出..

感谢@hamza,@ Vivek以及其他所有人......

答案 2 :(得分:1)

只需使用file()

$file = 'names.txt';
$array = file($file); // Creates an array of each line
array_pop($array); // Remove the last value of the array
$string = implode(', ', $array); // Implode
file_put_contents($file, $string); // Write to file

答案 3 :(得分:1)

使用: -

$file = 'names.txt';
$array = file($file); // Creates an array of each line
$array = array_slice($array,0,-1); // Pops the last element of an array
$string = implode(','.PHP_EOL, $array); // Implode
file_put_contents($file, str_replace(PHP_EOL,"",$string));

输出: -

saad, Alex, Ashmil, Shumail

答案 4 :(得分:1)

也尝试这个。 它工作......

<?php

$file = 'names.txt';
$array = file($file); // Creates an array of each line
$array = array_slice($array,0,-1); // Pops the last element of an array
$string = implode(',', $array); // Implode
file_put_contents($file, str_replace("\n","",$string));


?>