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

Поиск:

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


Unregistered











Помогите люди добрые!

Я пишу новостной скрипт.
Добовление новостей работает, а вот как заставить его изменять новость нинаю confused.gif
помогите пожалуйста!

заранее спасибо.


  Вверх
acp
Дата 16.3.2003, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

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



Система основана на файлах?
Тогда:
1. Можно сделать для каждой новости твоей отдельный файл. При изменении новости считавать этот файл и перезаписывать его
2. А можно всё в один файл запихать. Новости разделять какими-нибудь символами типа "---". При изменении новости опять же перезаписывать весь файл.

PS: не совсем пойму в чём проблема...
PM WWW ICQ   Вверх
GC
Дата 16.3.2003, 23:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Да, acp система основана на файлах, новости храняться в одном .тхт файле.
проблема в том что когда перезаписываеться весь фаил то новости или удаляються или на все строки пишеться одна (та которая была изсменена).

дата:строка первая
дата:строка вторая
дата:строка третья

после редактирования допустем второй строки получаеться

дата:строка вторая
дата:строка вторая
дата:строка вторая

confused.gif
  Вверх
acp
Дата 16.3.2003, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

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



Ну приведи кусок кода, который это реализует. Если он не большой. Неправильно просто у тебя что-то и всё...
PM WWW ICQ   Вверх
Devorior
Дата 17.3.2003, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



действительно, код напиши...у тебя наверное запись в файл неправильно идет
PM MAIL ICQ   Вверх
GC
Дата 17.3.2003, 08:35 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











<form method="POST" action="1.php">
<?
$fp = file("news.dat");
for ($i = 0; $i <= count($fp); $i++)
{
list($d_date,$n_news) = explode(":",$fp[$i]);
if(strlen($d_date) > 0)
{
$n_news = ereg_replace("<br>","\r\n",$n_news);

print "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"400\">
<tr>
<td colspan=\"2\"><input name=\"date\" type=\"text\" value=\"$d_date\" style=\"width: 300\"> номер: $i</td>
</tr>
<tr>
<td colspan=\"2\" align=\"center\"><textarea name=\"news\" rows=10 cols=20 style=\"width: 400\">$n_news</textarea></td>
</tr>
<tr>
<td colspan=\"2\" align=\"center\">&nbsp;</td>
</tr>
<tr>
<td width=\"200\" align=\"center\"><input type=\"submit\" value=\"изменить\" style=\"width: 100\" name=\"B\"></td>
<td width=\"200\" align=\"center\"><input type=\"submit\" value=\"удалить\" style=\"width: 100\" name=\"b\"></td>
</tr>
</table><br><br>\n";
}
}

if ($B == "изменить")
{
$editfile = fopen ("news.dat","w");
$news = ereg_replace("\r\n","<br>",$news);
fputs($editfile,"$date:$news\n");
fclose($editfile);
print "<script LANGUAGE=\"javascript\">window.location.href = \"1.php\"</SCRIPT>";
}
?>
</form>


формат записи в фаил такой: date:news




  Вверх
IZ@TOP
Дата 17.3.2003, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А че страдать то ? Я тож делаю новостную ленту на файлах, проще и удобней записывать - один файл одна новость, а название файла есть дата, там вроде 17.03.03 ... а изменять это проще простого ! Просто читаешь его весь и выводишь в форму, со всеми вытикающими от сюдого ...редактируешь, ну и отправляешь потом на сервер и файл перезаписывается !


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

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


Опытный
**


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

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



делай как Iz@top, потом легче будет
PM MAIL ICQ   Вверх
IZ@TOP
Дата 17.3.2003, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Devorior Спасиб smile.gif


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

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


Новичок



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

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



А я вот сделал так.

В одном файле тело новостное в виде двумерного массива. Там сколько хочешь можно характеристик сделать для новости(сама новость, дата, название новости, сопутствующая ссылка и так далее...)
А другой файл это всё дело просматривает
PM MAIL ICQ   Вверх
y.s.grin
Дата 17.3.2003, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



И тело новостное изменяй хоть до посинения
PM MAIL ICQ   Вверх
Devorior
Дата 18.3.2003, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



y.s.grin, а с базой еще круче можно сделать smile.gif
PM MAIL ICQ   Вверх
y.s.grin
Дата 18.3.2003, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



2Devorior

ты прав. smile.gif
PM MAIL ICQ   Вверх
Foxx
  Дата 19.3.2003, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(GC @ 17.3.2003, 00:35)
if ($B == "изменить")
{
$editfile = fopen ("news.dat","w");
$news = ereg_replace("\r\n","<br>",$news);
fputs($editfile,"$date:$news\n");
fclose($editfile);
}

if ($B == "изменить")
{
$news = ereg_replace("\r\n","<br>",$news);
$editfile = fopen ("news.dat","a+");
fputs($editfile,"$date:$news\n");
fclose($editfile);
}
Файл открывается в режиме записи и чтения, указатель устанавливается на последний байт, содержимое не уничтожается! Этот режим полезен если НУЖНО ЧТО_ЛИБО ДОПИСАТЬ В ФАЙЛ

Небольшое замечание. В качестве разделителя лучше не использовать двоеточие. Я обычно пользуюсь
"|" или "::". Таких символов точно нет в сообщении smile.gif

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


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


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

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



Foxx А как дописать в начало файла ? я пробовал с r+ но вот беда верхнея строчка убивалась ...


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

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Страницы: (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.1247 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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