Автор Тема: Несложный PHP скрипт. Часть 2.  (Прочитано 4047 раз)

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

Оффлайн Chopchic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Несложный PHP скрипт. Часть 2.
« : 24 Января 2007, 22:45:41 »
Опять нужна ваша помошь. Нужно дописать скрипт.
В пхп полный нуль.

Есть скрипт:

$dir_name=$_GET[\'id\'];
if(!is_numeric($dir_name))die();
if(!is_dir($dir_name))mkdir($dir_name);
$f=fopen($dir_name.\'/log.txt\',\'a\');
$text = str_replace(\'***\', "\\r\\n", ((!empty($_GET[\'text\']) ) ? $_GET[\'text\'] :\'\'));
$text = str_replace(\' \', "\\n", ((!empty($text) ) ? $text : \'\'));
fwrite($f,$text."\\n");
fclose($f);


Из моей программы происходит GET запрос к скрипту.
Таким образом:
stat.php?id={уникальный номер}&country={страна}&date={дата}+&text={текст}

Что делает скрипт:
В папке со скриптом создается папка с именем {номер}, который передает моя программа. В папке создается текстовый файл log.txt и в его конец дописывается текст, который передает моя программа {текст}. Если папка с таким именем уже существует, то в этой папке создается текстовый файл и в него пишется текст. Если файл существует, то в него пишется текст, передаваемый моей программой.

Что хотелось бы, чтобы делал скрипт:
Сортировка по странам.
Сортировка по датам в контексте уникальной папки.

stat.php?id={уникальный номер}&country={страна}&date={дата}+&text={текст}

В папке со скриптом создается папка с именем {страна}, которую передает программа. В созданной папке создается папка с именем {номер}, который передает моя программа. Далее в папке {номер} создается папка с именем {дата}, которую передает моя программа. В папке {дата} создается текстовый файл log.txt и в его конец дописывается текст, который передает моя программа {текст}.

Если папка с именем {страна} существует, то в ней создается папка с именем {номер}. Если папка {номер} существует, то в ней создается папка с именем {дата}. Если папка с именем {дата} существует, то в ней создается файл log.txt и в него пишется {текст}, передаваемый моей программой. . Если и файл существует, то в конец файла пишется текст, передаваемый моей программой.

Вот такой алгоритм.

Оффлайн Chopchic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Несложный PHP скрипт. Часть 2.
« Ответ #1 : 25 Января 2007, 12:45:15 »
f(!isset($_GET[\'id\']) || !is_numeric($_GET[\'id\'])) die();
if(!isset($_GET[\'country\'])) die();
$_GET[\'country\'] = str_replace(array(\'..\',\'/\',\'\\\\\'), \'\', $_GET[\'country\']);
$dir_name = $_GET[\'country\'].\'/\'.$_GET[\'id\'].\'/\'.date(\'d.m.Y\');
if(!file_exists($dir_name)) mkdir($dir_name, 0777, true);
$f=fopen($dir_name.\'/log.txt\',\'a\');
$text = str_replace(\'***\', "\\r\\n", ((!empty($_GET[\'text\']) ) ? $_GET[\'text\'] :\'\'));
$text = str_replace(\' \', "\\n", ((!empty($text) ) ? $text : \'\'));
fwrite($f, $text."\\n");
fclose($f);

Вот это должно работать. Но выдает кучу ошибок.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Несложный PHP скрипт. Часть 2.
« Ответ #2 : 25 Января 2007, 13:45:00 »
Chopchic
Цитировать
Chopchic:
кучу ошибок

Ошибки в студию?
LJ: Backslashed life (rss)

Оффлайн Chopchic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Несложный PHP скрипт. Часть 2.
« Ответ #3 : 25 Января 2007, 18:14:48 »
stat3.php?id=387461823&country=Russia&text=dkfmdfklmv

Warning: mkdir() expects at most 2 parameters, 3 given in /usr/local/www/wwwroot/~security/stat3.php on line 6

Warning: fopen(Russia/387461823/25.01.2007/log.txt): failed to open stream: No such file or directory in /usr/local/www/wwwroot/~security/stat3.php on line 7

Warning: fwrite(): supplied argument is not a valid stream resource in /usr/local/www/wwwroot/~security/stat3.php on line 10

Warning: fclose(): supplied argument is not a valid stream resource in /usr/local/www/wwwroot/~security/stat3.php on line 11

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Несложный PHP скрипт. Часть 2.
« Ответ #4 : 25 Января 2007, 21:29:50 »
Chopchic
Цитировать
Chopchic:
mkdir() expects at most 2 parameters

[p]mkdir[/p] начинает принимать параметр рекурсии только с PHP5.
В четверке нужно проверять существование каждой из поддиректорий; там же в мануале есть примеры заменителей.

Остальные ошибки - следствие.
LJ: Backslashed life (rss)

Оффлайн Chopchic

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Несложный PHP скрипт. Часть 2.
« Ответ #5 : 25 Января 2007, 23:03:11 »
большое спасибо.

очень помог.

 

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