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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ПОМОГИТЕ, как изменить строку в файле? 
:(
    Опции темы
Foxx
Дата 19.3.2003, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 19.3.2003
Где: Новосибирск

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



r - файл открывается только для чтения. Если файл не существует - ошибка. После удачного открытия указатель устанавливается на первый байт, то есть на начало.
r+ - файл открывается одновременно на чтение и запись. Указатель текущей позиции устанавливается на первый байт. Если файл несуществует, фозвращается false. Если в момент записи указатель установлен где-то в середине файла, то данные записываются поверх существующих, а не раздвигают их.
w - cсоздаетс новый пустой файл. Если такой файл был - он уничтожается.
w+ - аналогичегн w. Но если файл не существовал, он создается. Можно работать в режиме чтение/запись. Изначальное содержимое удалаяется.
а - открывает файл в режиме записи. Указатель на последний байт. Содержимое не уничтожается. Если файла не существовало, он создается.
а+ - аналогичен а. Содержимое остается. режим чтения/запись. Если файла не существовало, он создается.

if ($B == "изменить")
{

$news = ereg_replace("\r\n","<br>",$news);
$data=file("news.dat"); // просто создаем массив с содержимым
$editfile = fopen ("news.dat","w+");
fputs($editfile,"$date:$news\n");
for($i=0; $i< sizeof($data); $i++)
{
fputs($editfile,"$data[$i]\n");
}
fclose($editfile);
}

кажется так. попробуй. если не получиться - скажи.
PM MAIL ICQ   Вверх
IZ@TOP
Дата 19.3.2003, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Цитата
r - файл открывается только для чтения. Если файл не существует - ошибка. После удачного открытия указатель устанавливается на первый байт, то есть на начало.
r+ - файл открывается одновременно на чтение и запись. Указатель текущей позиции устанавливается на первый байт. Если файл несуществует, фозвращается false. Если в момент записи указатель установлен где-то в середине файла, то данные записываются поверх существующих, а не раздвигают их.
w - cсоздаетс новый пустой файл. Если такой файл был - он уничтожается.
w+ - аналогичегн w. Но если файл не существовал, он создается. Можно работать в режиме чтение/запись. Изначальное содержимое удалаяется.
а - открывает файл в режиме записи. Указатель на последний байт. Содержимое не уничтожается. Если файла не существовало, он создается.
а+ - аналогичен а. Содержимое остается. режим чтения/запись. Если файла не существовало, он создается.


... совсем за дураков держишь !!! :-(


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Foxx
Дата 19.3.2003, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 19.3.2003
Где: Новосибирск

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



то бишь ?
чем не нравится ?
PM MAIL ICQ   Вверх
Foxx
Дата 19.3.2003, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 19.3.2003
Где: Новосибирск

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



Команды я привел на всякий случай, вдруг понядобятся.

А пример с записью в начало я переделал из прошлого примера. Что-то не работает?
PM MAIL ICQ   Вверх
IZ@TOP
Дата 19.3.2003, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Цитата
то бишь ?
чем не нравится ?


Ну вообще это мне кажется все знают ... во всяком случае все это основы ...
ну ты конечно все прямо как по книге зарубил, у меня кажись дома книга лежит одна по РНР, так там все точка в точку ! smile.gif
Цитата
А пример с записью в начало я переделал из прошлого примера. Что-то не работает?

Работает или нет я не проверял, да и за чем ... я терь такие дела с БД делаю ...

А вот подскажи, мне интересно - вот если указатель на начало устанавливается на первый байт, однако все равно первая строка перезаписывается ... что мне каждый раз \n в начале записи вводить ..


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
GodCries
Дата 19.3.2003, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо

Это сообщение отредактировал(а) GodCries - 19.3.2003, 02:44
PM MAIL   Вверх
GodCries
Дата 19.3.2003, 03:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Fox...

твоя подсказка:

if ($b == "изменить")
{
$news = ereg_replace("\r\n","<br>",$news);
$file=file("news.dat");
$editfile = fopen ("news.dat","w");
fputs($editfile,"$date:$news\n");
for($i=0; $i< sizeof($file); $i++)
{
fputs($editfile,$file[$i]);
}
fclose($editfile);
}


делает следующее:

строка 1
строка 2
строка 3

изменяю строка 3 на строка 33

получаеться:

строка 33
строка 1
строка 2
строка 3

он как бы добавляет

Это сообщение отредактировал(а) GodCries - 19.3.2003, 03:03
PM MAIL   Вверх
Foxx
  Дата 19.3.2003, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 19.3.2003
Где: Новосибирск

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



Цитата(Iz @ 18.3.2003, 21:05)
Ну вообще это мне кажется все знают ... во всяком случае все это основы ...
ну ты конечно все прямо как по книге зарубил, у меня кажись дома книга лежит одна по РНР, так там все точка в точку ! smile.gif

А вот подскажи, мне интересно - вот если указатель на начало устанавливается на первый байт, однако все равно первая строка перезаписывается ... что мне каждый раз \n в начале записи вводить ..

ГЫ.... я иногда забываю smile.gif Но это не с книжки, а сборная солянка.

Ну да. только лучше не \n, а \r\n - как в *них системах.
PM MAIL ICQ   Вверх
Foxx
  Дата 19.3.2003, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 19.3.2003
Где: Новосибирск

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



Цитата(GodCries @ 18.3.2003, 22:02)
if ($b == "изменить")
{
$news = ereg_replace("\r\n","<br>",$news);
$file=file("news.dat");
$editfile = fopen ("news.dat","w");
fputs($editfile,"$date:$news\n");
for($i=0; $i< sizeof($file); $i++)
{
fputs($editfile,$file[$i]);
}
fclose($editfile);
}
делает следующее:

строка 1
строка 2
строка 3

изменяю строка 3 на строка 33

получаеться:

строка 33
строка 1
строка 2
строка 3

он как бы добавляет


Я это и делал. Чтобы изменить строчку нужно знать ее номер - передавая например через скрытое поле. Что-то типа того:
if ($b == "изменить")
{
$news = ereg_replace("\r\n","<br>",$news);
$file=file("news.dat");
$editfile = fopen ("news.dat","w");
for($i=0; $i< sizeof($file); $i++)
{
if($i!=$number)
{
fputs($editfile,$file[$i]);
}
if($i==$number)
{
fputs($editfile,"$date:$news\n");
}
}
fclose($editfile);
}

$number - это номер перезаписываемой строки. По крайней мере я у себя сделал так. cool.gif

Это сообщение отредактировал(а) Foxx - 19.3.2003, 13:17
PM MAIL ICQ   Вверх
IZ@TOP
Дата 19.3.2003, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Цитата
Ну да. только лучше не \n, а \r\n - как в *них системах.


Это у меня тож гдето в книжке есть ... biggrin.gif


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Foxx
  Дата 19.3.2003, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 19.3.2003
Где: Новосибирск

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



Цитата(Iz @ 19.3.2003, 12:39)
Это у меня тож гдето в книжке есть ... biggrin.gif

А я не знаю есть или нет. У меня инет на работе а книжка дома. Так что пишу по памяти и по поиску, по форумам..... что задерживается в голове то и выводиться smile.gif

А код то работает? Его я со своей гостевухи снял, так что проблем не должно быть.
PM MAIL ICQ   Вверх
IZ@TOP
Дата 19.3.2003, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Цитата
А код то работает? Его я со своей гостевухи снял, так что проблем не должно быть.

Думаю что работает (я не проверял, кстати я это давно тож для гуесты хотел использовать)
Цитата
А я не знаю есть или нет. У меня инет на работе а книжка дома. Так что пишу по памяти и по поиску, по форумам..... что задерживается в голове то и выводиться


У меня кстати тоже книжка дома а в нет я на работе вылазю ... так что я не мухлюю и в книги не заглядываю (иначеб меня на работе начальство с потрохами сожрало !)!!!


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Foxx
Дата 19.3.2003, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 19.3.2003
Где: Новосибирск

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



пользуйся, мне не жалко smile.gif

у меня с работой полегче, халявный инет и уйма времени.... токо желания иногда не хватает sad.gif да и идеи быстро заканчиваются
PM MAIL ICQ   Вверх
IZ@TOP
Дата 19.3.2003, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



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

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


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Foxx
Дата 19.3.2003, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 19.3.2003
Где: Новосибирск

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



Цитата
Везет ... а у меня идей пруд пруди

Поделишься? МОжет я даже чем-т осмогу помочь ?smile.gif))

Цитата
а времени тока по выходным и вечером после работы, и то, в выходные куданить друзья утаскивают а вечером хочется ото всего отдохнуть ...

у меня выходные пропадают sad.gif так что урываю время между учебой и работой.


PM MAIL ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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