Linux(ubuntu)中的Php新行显示^M
我正在Ubuntu服务器上运行一个PHP脚本。我正在用PHP读取一个配置文件,做一些preg_替换并写回该文件。使用文件获取内容和文件放置内容执行此操作 但是当我这样做的时候,我看到^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
为什么它在那里?我怎样才能在不显示这些字符的情况下写入文件?还是忽略它们就省省了?这是我的小脚本,它将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的对象显示。搜索这些术语,你可能会找到很多好的提示。