Автор Тема: Помогите откорректировать скрипт.  (Прочитано 5200 раз)

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

Оффлайн Saffi

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 15
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.insurance2000.ru
Помогите откорректировать скрипт.
« : 19 Сентября 2003, 14:12:14 »
Помогите выставить автоматическую нумерацию строк в текстовом файле, при записи в него информации из формы:

# Записываем заявку в файл
($day,$month,$yearr) = (localtime)[3,4,5];
$yearr=$yearr+1900;
$month=$month+1;
open(BUDKA, ">>bydka.txt");
print BUDKA "~$town~$vozr~$tel~$name~$day.$month.$yearr~ ~$phone~$email~$proizv1~$model~$year~$link1~$link2~$subject~$ref~$ent~$ENV{HTTP_REFERER}~$cost~$i1~$i2~$i3~$i4~$i5~$age[1]~$stage[1]~$min_age~$min_stage\\n";
close(BUDKA);


или подскажите, пожалуйста, как это сделать...
На всякий случай - смысл в том, что при заполнении заявки на сайте, она бы под своим уникальным номером заносилась в текстовой файл (для отслеживания)...

Заранее спасибо.
Лучше поначалу замучить вопросами, чем после оказаться неготовым к ответу.

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Помогите откорректировать скрипт.
« Ответ #1 : 19 Сентября 2003, 14:23:06 »
создай еще один файл, где храни номер последней записи. С каждой новой записью увеличивай на 1 и т.д...

ps: не забудь про блокировки, и подумай про SQL
0 OK, 0:1

Оффлайн Saffi

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 15
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.insurance2000.ru
Помогите откорректировать скрипт.
« Ответ #2 : 19 Сентября 2003, 14:46:57 »
а без создания еще одного файла можно?
Лучше поначалу замучить вопросами, чем после оказаться неготовым к ответу.

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Помогите откорректировать скрипт.
« Ответ #3 : 19 Сентября 2003, 14:56:01 »
Цитировать
Saffi:
а без создания еще одного файла можно?


конечно! читаешь последнюю строку файла и узнаешь последний номер.
0 OK, 0:1

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Помогите откорректировать скрипт.
« Ответ #4 : 19 Сентября 2003, 15:04:08 »
Строка в массив.
Сколько элементов в массиве - столько и строк.
The documentations is your friend

Оффлайн Saffi

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 15
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.insurance2000.ru
Помогите откорректировать скрипт.
« Ответ #5 : 19 Сентября 2003, 15:04:44 »
:( в том-то все и дело, что именно это я и хотела спросить: как это сделать практически....
Лучше поначалу замучить вопросами, чем после оказаться неготовым к ответу.

Оффлайн Saffi

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 15
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.insurance2000.ru
Помогите откорректировать скрипт.
« Ответ #6 : 19 Сентября 2003, 15:06:06 »
это я для ondr присала...
Лучше поначалу замучить вопросами, чем после оказаться неготовым к ответу.

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Помогите откорректировать скрипт.
« Ответ #7 : 19 Сентября 2003, 17:45:50 »
Цитировать
Saffi

($day,$month,$yearr) = (localtime)[3,4,5];
$yearr=$yearr+1900;
$month=$month+1;
open (FILE, "bydka.txt");
@file=;
$num=@file;

open(BUDKA, ">>bydka.txt");
print BUDKA "$num~$town~$vozr~$tel~$name~$day.$month.$yearr~ ~$phone~$email~$proizv1~$model~$year~$link1~$link2
~$subject~$ref~$ent~$ENV{HTTP_REFERER}~$cost~$i1~$
i2~$i3~$i4~$i5~$age[1]~$stage[1]~$min_age~$min_sta
ge\\n";
close(BUDKA);
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн Saffi

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 15
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.insurance2000.ru
Помогите откорректировать скрипт.
« Ответ #8 : 22 Сентября 2003, 11:28:13 »
Yaroslav
Спасибо - работает, но есть нюанс... файл *.txt постоянно чистится, чтобы не слишком много весить и если делать таким образом, то нумерация будет постоянно прыгать, а она должна идти нарастающим итогом...
Новая строка записывается в конец файла.
Помогите плз.
Лучше поначалу замучить вопросами, чем после оказаться неготовым к ответу.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Помогите откорректировать скрипт.
« Ответ #9 : 22 Сентября 2003, 11:31:48 »
Saffi
Для этого я использовал функцию localtime(), и имя файла давал:
гггг-мм-дд.txt
Т.е. при изменении дня на сервере, имя твоего файла тоже будет меняться, только вот желательно своевременно переписывать себе эти файлы с сервера...

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
Помогите откорректировать скрипт.
« Ответ #10 : 07 Октября 2003, 16:18:56 »
Цитировать
Saffi:
Спасибо - работает, но есть нюанс... файл *.txt постоянно чистится, чтобы не слишком много весить и если делать таким образом, то нумерация будет постоянно прыгать, а она должна идти нарастающим итогом...

есть 2 варианта:
1. читать последнюю строчку из файла, разбить ее и к нумерации добавить 1, что в дальнейшем и вставлять в новую строчку
2. создать новый файл и хранить там текущюю нумерацию.
Соответственно открыть файл с нумерацией, увеличить значение и его использовать для файла данных

правка: вот тормоз, про это уже писали, ну да ладно
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

 

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