Считывание каждой строки текстового файла в новый элемент массива


Я хочу ввести каждую строку этого текстового файла в новый элемент массива, и мне нужно, чтобы массив заканчивался так: Массив ([testuser]=> 'testpassword'), используя этот текст в текстовом файле: 'testuser' => 'testpass'

Код, который у меня сейчас есть:

$filename = "logininfo.txt";
$fp = @fopen($filename, 'r'); 
if ($fp) { $LOGIN_INFORMATION = explode("\n", fread($fp, filesize($filename))); }
Author: user1401004, 2012-05-17

2 answers

Используйте PHP file функция:

$array = file('logininfo.txt');

Чтобы игнорировать новые строки и пустые строки, укажите соответствующие флаги:

$array = file('logininfo.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );

Хороший способ решить эту проблему - это PHP parse_ini_file функция. Ваш файл должен будет выглядеть немного иначе, но я предполагаю, что это не проблема:

; file contents:
testuser = testpass

И в вашем PHP-файле:

$array = parse_ini_file('logininfo.txt', FALSE);
 4
Author: knittl, 2012-05-17 14:55:21

Предполагая, что ваш файл выглядит следующим образом:

Пользователь: бла пароль: что-то

Вы могли бы сделать это так

$arr = array();
$filename = "test.txt";
$fp = fopen( $filename, "r" );
while ( ! feof( $fp ) ) {
   $line = fgets( $fp, 1024 );
   $temp = explode(":", $line);
   $arr[trim($temp[0])] = trim($temp[1]);
}
 0
Author: d4rkpr1nc3, 2012-05-17 13:08:40