我简单的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
以三分之一的形式返回文本文件?
答案 0 :(得分:1)
有关fgets()
文档页面上行结尾问题的说明:
如果PHP没有正确识别行结尾时 读取Macintosh计算机上或由Macintosh计算机创建的文件,启用
auto_detect_line_endings
运行时配置选项 可能有助于解决问题。
答案 1 :(得分:0)
只是一个猜测,但你确定源文件在ftp.server:username:password和下一个条目之间不包含空格吗?