Dan*_*Dan 101 php arrays fgets text-files
我试图将文本文件的每一行读入一个数组,并将每一行放在一个新元素中.
我的代码到目前为止.
<?php
$file = fopen("members.txt", "r");
$i = 0;
while (!feof($file)) {
$line_of_text = fgets($file);
$members = explode('\n', $line_of_text);
fclose($file);
?>
Run Code Online (Sandbox Code Playgroud)
Yan*_*hon 383
如果您不需要任何特殊处理,这应该是您正在寻找的
$lines = file($filename, FILE_IGNORE_NEW_LINES);
Run Code Online (Sandbox Code Playgroud)
Dre*_*tto 33
我找到的最快的方法是:
// Open the file
$fp = @fopen($filename, 'r');
// Add each line to an array
if ($fp) {
$array = explode("\n", fread($fp, filesize($filename)));
}
Run Code Online (Sandbox Code Playgroud)
其中$ filename将是您文件的路径和名称,例如.../filename.txt.
根据您设置文本文件的方式,您可能需要使用\n位.
小智 24
只要用这个:
$array = explode("\n", file_get_contents('file.txt'));
Run Code Online (Sandbox Code Playgroud)
Gau*_*rav 21
<?php
$file = fopen("members.txt", "r");
$members = array();
while (!feof($file)) {
$members[] = fgets($file);
}
fclose($file);
var_dump($members);
?>
Run Code Online (Sandbox Code Playgroud)
iia*_*chu 20
$yourArray = file("pathToFile.txt", FILE_IGNORE_NEW_LINES);
Run Code Online (Sandbox Code Playgroud)
FILE_IGNORE_NEW_LINES避免在每个数组元素的末尾添加换行符
您也可以使用FILE_SKIP_EMPTY_LINES跳过空行
这里参考
$lines = array();
while (($line = fgets($file)) !== false)
array_push($lines, $line);
Run Code Online (Sandbox Code Playgroud)
显然,您需要先创建一个文件句柄并将其存储$file.
它很简单:
$lines = explode("\n", file_get_contents('foo.txt'));
Run Code Online (Sandbox Code Playgroud)
file_get_contents() - 将整个文件作为字符串.
explode("\n")- 将使用分隔符拆分字符串"\n"- 换行符的ASCII-LF转义.
但要注意 - 检查文件是否有UNIX -Line结尾.
如果"\n"不能正常工作,你有另外的2行编码,你可以尝试"\r\n","\r"或"\025"