|
|
|
|
|
для: Valick
(19.11.2008 в 23:53)
| | Да действительно я что-то не подумал что файл большой, тогда как вариант сделать индексный файл где указать какая строка с какого байта начинается и каким кончается или просто разделить на блоки так же в индексном файле. И уже считывать небольшой кусочек из файла а не весь файл | |
|
|
|
|
|
|
|
для: Valick
(19.11.2008 в 21:58)
| | Вы сказали "покажите Ваш код - поправим если что"
Я гляжу (в этом разделе как минимум) на задачу совершенно конкретно.
Есть файл. Со строками текста. Достаточно длинный, чтобы даже и не думать ни об оперативной памяти. Ни о том, чтоб его содержимое куда-то, как-то, где-то копировать.
Он уже есть. Им пользуются. Разбить/переделать файл никто не позволит.
Впрочем, не помешают создать рядышком еще один - покороче на порядок-другой.
Вот в таком акцепте.
При размере файла до 2 Гб задача относительно проста.
За пределами (в 32bit php) наступает вешалка. | |
|
|
|
|
|
|
|
для: V2D
(19.11.2008 в 23:45)
| | бедная оперативная память)))
вы хотели сказать минус один?)) хотя неважно этот вариант в любом случае не для меня)) | |
|
|
|
|
|
|
|
для: Valick
(19.11.2008 в 21:58)
| |
<?php
$file=file("file.dat");
echo $file['123456']; //номер строки плюс один т.к. массив начинается с нуля
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(19.11.2008 в 20:43)
| | я вас не понимаю... я посоветовал человеку отказаться от файлов в пользу БД раз уж так важна скорость, на что вы мне сказали, "что всё хорошо, но как быть с файлами более 2Гб", а потом спрашиваете "при чём тут базы"...
Да кстати как вариант можно разбить этот файл на несколько меньших по объёму фйлов имена которых будут содержать номер начальной строки например 0, 100000, 200000 и тд. | |
|
|
|
|
|
|
|
для: Valick
(19.11.2008 в 16:32)
| | при чем тут базы?
Я о php ( точнее о файловых функциях php 32-битовой платформы.) | |
|
|
|
|
|
|
|
для: Trianon
(19.11.2008 в 15:16)
| | У всех баз данных такая проблема при работе с файлами более 2Гб? | |
|
|
|
|
|
|
|
для: Valick
(19.11.2008 в 13:37)
| | Всё бы ничего, но что делать с файлами длиннее 2 Гб? | |
|
|
|
|
|
|
|
для: SoloNifer
(19.11.2008 в 13:06)
| | Покажите ваш код... поправим если что.
А вообще чтобы не изобретать велосипед, нужно ездить на мотоцикле... т.е. использовать базу данных. | |
|
|
|
|
|
|
|
для: SoloNifer
(12.11.2008 в 13:24)
| | Народ, у кого нибудь есть решение без фиксированной длинны строк? | |
|
|
|
|