|
|
|
| Есть файл с неким количеством строк (возможно очень много), например:
Необходимо обработать каждую из этих строк таким образом, чтобы в начало и в конец каждой строки добавлялся одинаковый текст, скажем в начало 0000, а в конец 7777 и после этого конечные строки объединились в одну.
Пример выходного результата:
0000строка177770000строка277770000с трока37777
|
Подскажите, как оптимально выполнить задачу с минимальным потреблением ресурсов и времени.
Заранее благодарю! | |
|
|
|
|
|
|
|
для: Dimon-RU
(21.12.2010 в 19:58)
| | fopen() + fgets() | |
|
|
|
|
|
|
|
для: Dimon-RU
(21.12.2010 в 19:58)
| | именно на php? | |
|
|
|
|
|
|
|
для: Dimon-RU
(21.12.2010 в 19:58)
| | читаете из этого файла в цикле по одной строке $string и пишите в другой файл в этом же цикле 0000$string7777 | |
|
|
|
|
|
|
|
для: Valick
(22.12.2010 в 00:27)
| | Если строки короткие, будет более оптимальным читать их блоками.
Размер блока по вкусу подобрать, как компромисс между памятью и временем.
В одной из очень давних тем я показал примерно, как это делается. | |
|
|
|
|
|
|
|
для: Trianon
(22.12.2010 в 01:31)
| | я то с Вами полностью согласен
да и подобных тем было много
я предложил самое простое из оптимального
если читать блоками, то процедура вставки нужных символов и записи их в файл будет немножко другая, хотя принцип тот же | |
|
|
|
|
|
|
|
для: Dimon-RU
(21.12.2010 в 19:58)
| |
<?php
$lines = file($filename, FILE_IGNORE_NEW_LINES);
$string = "";
$c = count($lines);
for ($i = 0, $k = 1; $i < $c; ++$i, ++$k) {
$string.= "0000{$line[$i]}{$k}777";
}
file_put_contents($filename, $string);
?>
|
| |
|
|
|
|
|
|
|
для: Красная_шляпа
(22.12.2010 в 02:05)
| | назвать такое оптимальным по ресурсам можно только в шутку. | |
|
|
|
|
|
|
|
для: Dimon-RU
(21.12.2010 в 19:58)
| | в текстовом редакторе типа notepad+ если не требуется обязательное применение php | |
|
|
|