file_get_contents читает в память. Нет памяти - нет печенек, смотри в логах ошибок... Попробуй читать в цикле fopen-fread не весь файл, а кусочками по 64к, к примеру. Eдинственная проблема - нужно не потерять возможный "хвост", например перекидывая последние 5 символов от предыдущего чтения в начало следующего.
Окей, как я понял надо хэш доставать, верно?
Давай сделаем так чтобы не грузилась память - не будем использовать регулярки и не будем файл целиком в память.
<?php
$url = 'http://www.sample-videos.com/csv/Sample-Spreadsheet-10-rows.csv';
$tmp = tmpfile(); // указатель временный файл, который удалится когда скрипт закончит работу
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $tmp);
curl_exec($ch); // стоит добавить проверки что файл успешно загружен
rewind($tmp);
while ( ! feof($tmp)) {
if ('' === ($line = trim(fgets($tmp)))) {
continue;
}
list($nick, $hash) = explode(':', $line, 2);
// у тебя 2 переменные, $nick, $hash
}
Алексей Толстоухов, что именно тут расписать подробнее? Приведите несколько строк конкретных из вашей задачи. Я вам просил привести несколько строк, а не одну.