Как вывести топ ячеек из файла

Печать RSS
299

А

Оранжевые штаны
0
Можно попытаться уменьшить ресурсоемкость разделением файла данных на подфайлы если знаем в какой части искать данные, либо сильным модульным разделением данных на подфайлы данных объединенные одним головным файлом, так же простой поиск данных или их фильтрация в подобных файлах вполне уместен, а упорядочивание целого файла это редкая процедура, в современных СУБД уже не используемая.
А

Оранжевые штаны
0
Алиган, я предлагаю написание отдельного класса для работы с файлами данных, какое расширение будет иметь этот файл совершенно не важно smile
О

Землянин
0
Да смысла нет делать это на уровне интерпретируемого языка программирования. Я это к тому что хорошего эффекта не получить. Если касается для ведения какой-то статистики или инструментария для ведения лог-файлов, то да, будет удобно.
А

Оранжевые штаны
0
Смысло конечно мало, но я не знаю для чего это понадобилось автору, а ответ на такой вопрос получу минимум завтра smile потому без разбора написал что думал по теме. Нужно будет как нибудь набрать такой класс. В уме курятся файлы данных на .хмл, думаю выигрышь в скорости получим.

2000 лет д.н.э.
0
Гм.. Мощно задвинули.. Внушает, правда есть одно но, вместом написания класса лучше потратить столько же времени на изменение скрипта, (мускул или выносной файл с нужными ключами,(фактически та же система), на худой конец кеширование).
Автору конечно виднее, но сам ход изначально не рационален. Файлы хороши для хранения и выборки простой информации без сложных условий и прочего,
иначе вся система будет проходить через это узкое горлышко.
Наступит день когда файл разрастется на столько что будет ощутимо тормозить, и тогда придется переделывать уже гораздо больше кода завязанного на этом файле. (пример: мотор18. Все хотят на реглобалс офф перевести но работы то сколько..).
Кто сказал что оптимизация должна начинаться после написания скрипта тот видимо не писал на ходу или на заказ, сделал - отдал - забылsmile
такое вот мое скромное мнение..
И

Оранжевые штаны
0
А что если (это просто догатки мож и не верные) если разбить с помощью explode, потом записать в массив и сортировать его и записать...Что вроде этого..ХЗ
И

Оранжевые штаны
0
<?
  $u=file(BASEDIR."/file.txt");
  $udata=explode(":||:", $u[0]);
sort($udata[5]); //плин че то вертиться на уме..

2000 лет д.н.э.
0
<?php
$file = file('file.txt'); // берем файл
$key = array();
$result = array();
foreach($file as $line=>$data){
$d = explode('|',$data);
if($d[5]!=""){
$key[] = $line; // формируем массив с ключами
}}
sort($key); // сортируем
foreach($key as $id){
$result[]=$file[$id]; // формируем массив результата 
}
unset($key);
unset($file);
print_r($result);
легче придумать не смог.
И

Оранжевые штаны
0
Он выводит что то типо
<?
Array ( [0] => asdasd|asdasdas|asdsada|asdsad|asdasd|1|asdsad| [1] => asdasd|asdasdas|asdsada|asdsad|asdasd|2|asdsad| [2] => asdasd|asdasdas|asdsada|asdsad|asdasd|3|asdsad| [3] => asdasd|asdasdas|asdsada|asdsad|asdasd|4|asdsad| )

2000 лет д.н.э.
0
Да, будет эффект как будто $result = file('file.txt');
но сразу отсортировано по 5ой ячейке и строчки с пустой 5ой ячейкой исключены.
Собственно в задаче вроде это и былоsmile
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск