1

我的简单 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以三个黑桃返回文本文件?

4

2 回答 2

1

fgets()文档页面上有关于行尾问题的注释:

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

于 2012-10-28T00:46:11.567 回答
0

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

于 2012-11-25T07:36:16.297 回答