使用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);
}