Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Обновление текстового файла. Покритикуйте код.


Автор: abibok 31.5.2008, 17:02
Код

/*
Привет!

Возникла необходимость написать следующий код: 
На вход получаем имя файла и номер строки.
Необходимо добавить в начало указанной строки определенный текст и 
перезаписать файл с этими измениями. 

Ниже код, который я написал, он работает. 
Но быть может у него есть минусы, и можно написать лучше? (у меня есть сомнения)
*/

$n = 3;    //номер строки

$data = file("1.txt");                //открываем файл, читаем его в массив
$data [$n] = "TEXT! ".$data [$n];    //добавляем в начало указанной строки нужный текст

$final_file = fopen("1.txt", "w"); //открываем файл на чтение, старое содержимое удаляется

while (list($linenum, $value) = each ($data)) //обходим массив
    fputs($final_file, $value); //построчно записываем весь файл, в том числе и нашу измененную строку

fclose($final_file);

Автор: Feldmarschall 31.5.2008, 17:45
начнем с того, что чтение всего файла в память является хрестоматийно кривой операцией. 
как и использование массивов там, где они не нужны.

читать надо построчно.
не забывать о блокировках
и начать использовать базу данных

Автор: abibok 2.6.2008, 13:59
Feldmarschall, благодарю за ответ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)