Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Я не пойму как мне читать строкой. Имеется ввиду прочитать все файлы в 1 строку, а потом её запихнуть в массив с разделением на элементы? Так?Не парь мозги - читай файл строкой и перед обработкой дели в массив по переводу строки, если тебе нужен именно построчный массив.
Вариантов несколько, например так.Я не пойму как мне читать строкой.
$f=fopen($file, 'r');
while (!feof($f)){
$line=fgets($f); // Вот твоя строка и делай с ней че угодно, хоть в массив хоть куда засунь...
}
Вариантов несколько, например так.
PHP:$f=fopen($file, 'r'); while (!feof($f)){ $line=fgets($f); // Вот твоя строка и делай с ней че угодно, хоть в массив хоть куда засунь... }
$line = file_get_contents($f);
$ar = explode("тут перенос строки \n или \n\l ", $line);
Имеется такой скрипт:
Т.е. содержимое файлов диры записывается в 2х-мерный массив. Надо сделать так, чтобы массив стал не многомерным. Т.е. объединить массивы. Прошу помощи.Код:$dir = "C:\/"; // каталог с файлами if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if (filetype($dir . $file)=="file") // Если тип переменной - file $data[] = @file("C:\/".$file); //читаем файл в массив } closedir($dh); }
Напрасно, если б файлы были большими. Поскольку в случае fgets память тратится только под строку, читаемую в память, а в случае file_get_contents или file файл грузится целиком в оперативную память.Как раз fgets он и пытался избежать
Во как?Напрасно, если б файлы были большими. Поскольку в случае fgets память тратится только под строку, читаемую в память, а в случае file_get_contents или file файл грузится целиком в оперативную память.
Во как?
То есть по твоему при использовании построчного считывания из файла расход памяти будет меньше, чем считать сразу весь файл в строку.
Объясни каким образом.
в контексте данной ветки надо понимать так, что если файл читается функцией file() в массив, то все содержимое файла окажется в оперативке, в перемнной-массиве, возвращаемом file(). Если файл большой, оперативки скушается много. Что не есть гуд. Поэтому в задачах построчной обработки файлов нет никакой необходимости читать фалы целиком переменные-массивы функцией file(). Лучше пройтись построчно, fgets().а в случае file_get_contents или file файл грузится целиком в оперативную память.