Задать вопрос
@evgenin

Как прочитать первую строку большого файла CSV?

if (($handle = fopen($filename, 'r')) !== FALSE) {
					$rowNumber = 0;
					$output = array();

					while (($row = fgetcsv($handle, 0, $delimiter)) !== FALSE) {
					    $num = count($row);

					    for ($i = 0; $i < $num; $i++) {
					        $output[$rowNumber][$i] = $row[$i];
					    }
					    $rowNumber++;
					}
				}


ошибка в строке while (($row = fgetcsv($handle, 0, $delimiter)) !== FALSE) {

Fatal error: Allowed memory size of 805306368 bytes exhausted (tried to allocate 72 bytes)
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@evgenin Автор вопроса
private function part($path, $offset, $rows) {
		$buffer = array();
		$buffer['content'] = '';
		//$buffer['pointer'] = array();
		$handle = fopen($path, "r");
		fseek($handle, $offset);
		if( $handle ) {
			for( $i = 0; $i < $rows; $i++ ) {
				$buffer['content'] .= fgets($handle);
				//$buffer['pointer'] = mb_strlen($buffer['content']);
			}
		}
		fclose($handle);
		return($buffer);
	}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы