dornc9470 2014-01-11 05:50
浏览 37
已采纳

使用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?

  • 写回答

1条回答 默认 最新

  • 普通网友 2014-01-11 07:46
    关注

    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);
    } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?