Автор Тема: Дурацкая ошибка  (Прочитано 2577 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Matold

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 25
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.matold.narod.ru/
Дурацкая ошибка
« : 28 Декабря 2003, 16:21:58 »
Кусочек скрипта для добавления новости:

$news="news.txt";
          ...
$fp = fopen($news, "r");
$tmp = fgets ($fp, 100);
fclose ($fp);
$fp = fopen($news, "w");
$zapis = "$zapis
 $tmp";
$fw = fwrite( $fp, $zapis);
fclose ($fp);

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

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Дурацкая ошибка
« Ответ #1 : 28 Декабря 2003, 16:48:54 »
действительно, дурацкая.
ты считываешь из файла только первые сто байт, а потом удивляешься - куда делись все данные?

Луше всего для тебя будет не записывать новость сверху, а добавлять по-человечески, в конец.
Ты же ведь, чтобы выводить, все равно весь файл считываешь?

Оффлайн Matold

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 25
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.matold.narod.ru/
Дурацкая ошибка
« Ответ #2 : 28 Декабря 2003, 16:59:44 »
Цитировать
ты считываешь из файла только первые сто байт, а потом удивляешься - куда делись все данные?

Да нет, кол-во байт не играет значения, даже если их 1000 -  все равно  последняя новость замещает все остальные :(

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

Ну вот это то у меня работало, но мне нужно самую свежую новость в начало страницы сайта, а считываться должен весь файл со всеми новостями

Оффлайн Matold

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 25
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.matold.narod.ru/
Дурацкая ошибка
« Ответ #3 : 28 Декабря 2003, 17:08:43 »
:rolleyes: Ееех, в ожидании ответа наткнулся на тему "как добавить страку в начало файла". Все, вопрос решен с добавкой новостей :cool:. Но ошибку в моем скрипте тоже хотелось бы узнать  :confused:

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Дурацкая ошибка
« Ответ #4 : 28 Декабря 2003, 18:11:57 »
блин.
Ну выведи ты свое tmp хоть на экран!!!!
и убедись!
при чем здесь ЗАТИРАЕТ?
ЧТО ТЫ ЗАПИСЫВАЕШЬ в файл, то в нем и оказывается!
если ты записываешь в файл сначала $zapis, потом
, а потом то, что прочитал в $tmp - то и запишется!
Что здесь для тебя непонятно-то?

Цитировать
считываться должен весь файл

И зачем тогда извращаться с записью в начало файла?
тебя научить, как работать с массивами?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28