Ну давайте гуру свои мега примеры если таковы имеються обработка - и на выходе файл до 60мб - плюс скорость ? - слушаю предложение - к примеру работа с файлами в 50-60 метров - запись в 30 - 40 мб файл - нужна оптимизированная желательно быстрая работа с текстовыми документами аналоиги есть но может ачатовские мозговитые предложат что по интереснее
Adio могу предложить научиться оформлять мысли так, чтобы понимали их не только вы. Какого рода преобразование вы хотите делать над файлом? 50 метров - вполне себе помещаются в ОЗУ, можно хоть читать файл целиком. Или же как обычно - построчное чтение и тогда использоване памяти будет минимальным.
Ну давайте так, вообщем к примеру на выходе я имеют 20 - 30 метров текста, пишуться они довольно таки долговато в текстовый файл, если юзать foreach fopen fwrite fclose вообщем нужен способ как то сделать это побыстрее К примеру разбивать на файлы потом собирать до кучи в один файл - ну вообщем мне нужны какие то ачатовские умные наработки еслит таковы имеютсья в итоге нужна скорость
Самый быстрый и менее ресурсоемкий способ чтения в php - это file_get_contents();, пару лет назад проводил сравнение, по поводу записи, думаю file_put_contents() будет на высоте, хотя нужно сравнивать. Метод, скорость чтения, потребляемая память. Это при размере файла около 4МБ file_get_contents:0.00137305259705;3.35 MB fread:0.00163197517395;6.59 MB fgets:0.00293898582458;3.34 MB fscanf:0.0129270553589;6.59 MB
Может быть, Вы лучше примеры приводите а не пишите что быстрее К примеру берем 30 метровый файл разбиваем на строку и лупим его с один или несколько файлов потом собираем или сразу записываем и сравниваем скорости а не просто писать что быстрее работает из функций записи..
Каким нафиг хрумоводам причем тут софт к пхп. На софте проблем нет да и в пхп тоже нет. А вот на ачате есть, одна проблема, что никому нахер ничег не нужно либо нет знаний либо есть но оно нахер никому не нужно. Нужно всем присвоить статус бот, бякнут херню какуют то и все
Это как? Считать файл в строку можно сразу, или разбит на строкИ? Лупим - это всмысле склеиваем строку с другим файлом? Собираем что? Из сорцев собираем или собираем бутылки в парке? Не то что бы просто прикалупаться, просто реально ничего не ясно. Пиши по русски что ты хочешь сделать, я предполагаю объединить 2 файла, в таком случае считываем просто в память весь файл, как сказал выше Gifts объемы в 30-100мб сегодня не объемы. Ну а если хочется минимальную нагрузку то рекомендую считывать файл кусками: http://www.php.net/manual/ru/function.fread.php Чем выше значение тем больше скорость ну и нагрузка соответственно, читай по 1мб и все будет в порядке. Еще вариант читать построчно: http://php.net/manual/ru/function.fgets.php но он слишком медленный для больших объемов, и ресурсоемкость зависит от длинны строки. А вот это уже наглость, и оно нас не интересует, да мы в принципе и так знаем. Так что это уже твоя задача. Скажи спасибо что тебе ответили, никто не нанимался отвечать на вопросы аутистов, все на добровольной основе.
Держи, тормозить будет от души. PHP: <?php class Infinity implements Iterator { private $filler = 1234; private $total = 0; public function __construct($size) { $this->total = $size * 1024 * 1024 / strlen($this->filler); } public function rewind() { } public function current() { return $this->filler; } public function key() { return NULL; } public function next() { return $this->filler; } public function valid() { return $this->total-- ? TRUE : FALSE; } } $inf = new Infinity(100); $fh = fopen('data.bin', 'w'); if($fh) { foreach($inf as $k => $v) { fwrite($fh, $v); } fclose($fh); } ?>
60 метров фигня, тут даже думать особо ненадо про скорость, я на питоне файлы по 1-2 гб обрабатывал за секунд 5-10!