Linux(ubuntu)中的Php新行显示^M

Linux(ubuntu)中的Php新行显示^M,php,ubuntu,file-get-contents,Php,Ubuntu,File Get Contents,我正在Ubuntu服务器上运行一个PHP脚本。我正在用PHP读取一个配置文件,做一些preg_替换并写回该文件。使用文件获取内容和文件放置内容执行此操作 但是当我这样做的时候,我看到^M在每行的末尾 为什么它在那里?我怎样才能在不显示这些字符的情况下写入文件?还是忽略它们就省省了?这是我的小脚本,它将Windows行分隔符替换为UNIX风格 <?php $in_fp = fopen( "input.txt", "r" ) or die; $out_fp = fopen( "out

我正在Ubuntu服务器上运行一个PHP脚本。我正在用PHP读取一个配置文件,做一些preg_替换并写回该文件。使用文件获取内容和文件放置内容执行此操作

但是当我这样做的时候,我看到^M在每行的末尾


为什么它在那里?我怎样才能在不显示这些字符的情况下写入文件?还是忽略它们就省省了?

这是我的小脚本,它将Windows行分隔符替换为UNIX风格

<?php
  $in_fp  = fopen( "input.txt", "r" ) or die;
  $out_fp = fopen( "output.txt", "w" ) or die;

  while ( !feof( $in_fp ) ) {
    $buf = fread( $in_fp, 5000 );
    $buf = str_replace( "\r\n", "\n", $buf );
    fwrite( $out_fp, $buf );
  }

  fclose( $out_fp );
  fclose( $in_fp );
?>

这是一个Windows行分隔符CR+LF,由某个需要Unix行分隔符LF的对象显示。搜索这些术语,你可能会找到很多好的提示。