|
|||||||
Запись в файл из формы v2.0Обсуждение темы Запись в файл из формы v2.0 в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Вариант 2: Форма: Код HTML: <form action= "request.php" method= "post" > <input name= "1" type= "text" > <input name= "2" type= "text" > ... |
![]() |
|
|
Опции темы |
|
|
#1 |
|
|
Вариант 2:
Форма: Код HTML:
<form action="request.php" method="post"> <input name="1" type="text"> <input name="2" type="text"> <input name="3" type="text"> <input name="4" type="text"> <input type="submit"> Код:
<?
$fo=fopen("file.php","w");
...
...
...
...
fclose($fo);
?>
Файл получаемый должон быть в формате: 1|2|3|4 1|2|3|4 А теперь, вопросы (Вопросы, наверное, конкретно в Nielson'у): 1. Запись с формы именно в верхнюю строку. Как реализовать, каков должон быть обработчик? 2. Вывод из файла в список, 2 вида. Допустим список из 5 верхних строк, ну и из всех. Последний раз редактировалось kost; 02.02.2009 в 16:43.. |
|
|
|
|
#2 |
|
|
Я вообще-то не программист совсем
1. Никак без двойной перезаписи. Возможно тебя интересует не запись, а вывод данных из файла. Например, ты хранишь в файле данные гостевой книги и выводить сообщения необходимо от новых к старым. А поскольку в файл пишется новая строка в конец - нужно как-то перевернуть порядок строк. Это делается функцией array_reverse($file); Код:
$file = file("filename.txt");
$file = array_reverse($file);
Код:
$str = 5;
//запускаем цикл, который сделает то количество
//итераций, которое мы указали в $str
for ($i = 0; $i < $str; $i++)
{
//создаем массив из строки, разбивая ее указанными в файле символами "|".
//Таким образом, мы на выходе получаем массив вида $mess[0] - 1, $mess[1] - 2
//ну и т.д.
$mess = explode("|",$file[$i]);
//ну а дальше уже выводим наши данные
echo "Первый элемент в строке - $mess[0]\n";
echo "Второй элемент в строке - $mess[1]\n";
}
|
|
|
| Этот пользователь сказал спасибо Nielson за это полезное сообщение: | vitalius (02.02.2009) |
|
|
#4 | |
|
|
Цитата:
Добавлено через 24 минуты Бррр, немного не то имел ввиду. Есть у меня форма - 4 поля, каждое поле соотв- переменная, кот. далее пишется в файл. При выводе я хочу получить 4 переменные (4 вида информации) из 1,2,3,4... сток. Т.е. $date - дата, $msg - мессага, $title - название, $link - ссылка... как мне это реализовать. У мну был такой скрипт, да потерялся приходится восстанавливатьДобавлено через 30 секунд собственно вот зачем я ставил "|" - разделителем... Последний раз редактировалось vitalius; 14.01.2009 в 20:49.. Причина: Добавлено сообщение |
|
|
|
|
|
#5 |
|
|
vitalius, покопайтесь насчет fprintf() и fscanf()
|
|
|
|
|
#6 |
|
|
Код:
//a+ - это дозапись в файл. Если хочешь, что бы файл очищался
//перед записью - нужно писать w+
$fo=fopen("file.php","a+");
$txt = "$1|$2|$3|$4\n";
fputs($fo, $txt);
fclose($fo);
|
|
|
|
|
#7 |
|
|
Я вышел из проблемы след. образом. Всё таже форма, обрабатывается так:
Код:
<?
$file_news = "news.txt"; // файл гостевой книги
$file_tmp = "news_tmp.txt"; // временный файл
$str = "$n_date, $_n_title, $n_news, $n_link";
// проверяем, не было ли сбоя в предыдущем запуске скрипта
if (file_exists ($file_tmp)) die ("Временный файл существует!");
// копируем содержимое файла в tmp
if (copy ($file_news, $file_tmp))
{
// если удачно скопировался, можно перезаписать основной файл
if ($w=fopen($file_news, "w"))
{
flock($w,2); // блокируем файл
fwrite ($w, $str."\n"); // записываем первую строку
if (!$r=fopen($file_tmp, "r")) die ("Невозможно открыть файл");
flock ($r,1);
while ($str=fgets($r, 10240)) // читаем построчно
{
fputs ($w, $str); // пишем построчно
}
flock ($r,3);
fclose ($r);
flock ($w,3);
fclose ($w);
unlink ($file_tmp); // удаляем временный файл
}
}
?>
Последний раз редактировалось kost; 02.02.2009 в 16:43.. |
|
|
|
|
#8 |
|
|
А потому-что переменные нужно писать либо $_GET['var'] либо $_POST['var'] — в зависимости от того — каким методом передаются данные.
|
|
|
|
|
#9 |
|
|
Огромное всем спасибо!!! Пардон, за то что дотошный, но сегодня разобрался. написал 2 скриптика:
1) нужные именно мне новости в необх. формате 2) редактор версий программ Thanks a lot! |
|
|
|
|
#10 |
|
|
http://web-silver.ru/forum/showthrea...E2%FB%E2%EE%E4
Тут интересная тема, буду благодарен за подсказку: как её прикрутить к вышележащему скрипту на вывод, скажем, по 5 или по 10 сообщ... ? |
|
|
![]() |
|
|
| Похожие темы | ||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Помогите разобраться файл php для формы обратной связи | 74ivan74 | ASP, Perl, PHP и MySQL | 2 | 23.07.2009 13:14 |
| Работа с формами. Запись в файл. | vitalius | ASP, Perl, PHP и MySQL | 2 | 12.01.2009 13:01 |
| Запись в файл .htpasswd переменных на PHP | Anatol | ASP, Perl, PHP и MySQL | 5 | 07.08.2007 08:33 |
| Запись на Cd | gatto | Технологии Flash | 4 | 27.03.2005 12:35 |
| Чтение и запись в файл... | ВЛАСТЕЛИН | HTML, CSS, JavaScript | 4 | 08.06.2003 00:27 |
|
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|