fgets没有看到新线

时间:2012-10-28 00:39:56

标签: php

我简单的PHP代码

<?

error_reporting(E_ALL);

set_time_limit(0);
ini_set('show_errors', 1);
$file = "ftpfile.txt";
$handle = fopen($file, "r");
if(!filesize($file)>0) {
        echo "File is empty!";
    }
    else {
    while (($ftpservers = fgets($handle, 4096)) !== false) {

        echo $ftpservers. "\n\r";

    }
    if (!feof($handle)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($handle);






        }
?>

我的文本文件

ftp.server:username:password    
ftp.server:username:password    
ftp.server:username:password    
ect..

运行此代码会返回此

ftp.server:username:passwordftp.server:username:passwordftp.server:username:password
ect..

为什么fgets以三分之一的形式返回文本文件?

2 个答案:

答案 0 :(得分:1)

有关fgets()文档页面上行结尾问题的说明:

  

如果PHP没有正确识别行结尾时   读取Macintosh计算机上或由Macintosh计算机创建的文件,启用   auto_detect_line_endings运行时配置选项   可能有助于解决问题。

答案 1 :(得分:0)

只是一个猜测,但你确定源文件在ftp.server:username:password和下一个条目之间不包含空格吗?