Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление текстового файла. Покритикуйте код. Не уверен, что моё решение оптимальное. 
V
    Опции темы
abibok
Дата 31.5.2008, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.6.2007

Репутация: нет
Всего: нет



Код

/*
Привет!

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

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

$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);


Это сообщение отредактировал(а) abibok - 31.5.2008, 17:05
PM MAIL   Вверх
Feldmarschall
Дата 31.5.2008, 17:45 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



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

читать надо построчно.
не забывать о блокировках
и начать использовать базу данных
PM   Вверх
abibok
Дата 2.6.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 8.6.2007

Репутация: нет
Всего: нет



Feldmarschall, благодарю за ответ.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0823 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.