Работаете с огромными текстовыми файлами в PHP? - PullRequest
3 голосов
/ 21 апреля 2011

Мне нужно отсканировать текстовый файл размером 30 МБ - это список городов мира. Как я могу получить доступ к этому файлу, я чувствую, что File_Get_Contents даст мой сервер удар

Ответы [ 3 ]

7 голосов
/ 21 апреля 2011

Просто fopen, а затем используйте fgets.

1 голос
/ 21 апреля 2011

Функции файловой системы пригодятся в этой ситуации.

Пример

$filename = "your_file_path";

// to open file
$fp = fopen($filename, 'r'); // use 'rw' to open file in read/write mode

// to output entire file
echo fread($fp, filesize($filename));

// to close file
fclose($fp);

Ссылки

(некоторые удобные функции)

0 голосов
/ 21 апреля 2011
<?php
$fh = @fopen("inputfile.txt", "r");
if ($fh) {
    while (($line = fgets($fh)) !== false) {
        echo $line;
        // do something with $line..
    }
    fclose($fh);
}
?>

Дополнительная информация / примеры на http://pt.php.net/manual/en/function.fgets.php

...