使用php文件函数修剪文本文件中的每一行

使用php文件函数修剪文本文件中的每一行

问题描述:

I have a text file having 10 lines and 50 characters in each line . I want to keep first 10 characters and delete remaining characters in each line. I used the following code

<?php
$target_file = 'test.txt';

$handle = fopen($target_file, "r");
if ($handle) {

while (($line = fgets($handle)) !== false) {
 $new_line=substr($line,0,10)."
";
 $new_handle=fopen('test.knt',"a");
fwrite($new_handle,$new_line);

}
} 
fclose($new_handle);
?>

But the output file contains single line of 100 characters. New line character is not working. Any clues?

Newline each OS

  • " " : new line for Windows
  • " " : new line for UNIX / Linux / MacOS 10.8+
  • "" : new line for Old MacOS

Please see code / syntax below

<?php
$target_file = 'test.txt';
$new_target_file = 'test.knt';

$handle = fopen($target_file, "r");
$new_handle = fopen($new_target_file, "a"); // or use "w" instead "a" if you want to overwrite file everytime
if ($handle && $new_handle) {

    while (($line = fgets($handle)) !== false) {
        $new_line=substr($line,0,10) . "
";
        fwrite($new_handle,$new_line);
    }
    fclose($new_handle);
    fclose($handle);
}