Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RFpro.ru: Программирование на PHP


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик
Статус: Академик
Рейтинг: 9866
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Академик
Рейтинг: 3854
∙ повысить рейтинг »
vladisslav
Статус: Практикант
Рейтинг: 1353
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / PHP

Номер выпуска:1247
Дата выхода:03.03.2012, 16:30
Администратор рассылки:Устинов С.Е. (Профессионал)
Подписчиков / экспертов:143 / 77
Вопросов / ответов:1 / 1

Консультация # 185496: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Пользователю предлагается ввести на странице имя некоторого каталога и данные запроса. В зависимости от запроса 1.удалить из заданного каталога все файлы, имеющие расширение на заданную букву; 2.выдать на экран содержимое файла с заданным именем заданного каталога, если он не пуст; ...


Консультация # 185496:

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Пользователю предлагается ввести на странице имя некоторого каталога и данные запроса. В зависимости от запроса
1.удалить из заданного каталога все файлы, имеющие расширение на заданную букву;
2.выдать на экран содержимое файла с заданным именем заданного каталога, если он не пуст;
3.переименовать файлы заданного каталога с именами, начинающимися на заданную букву.

и

Вводится последовательность чисел до тех, пока не будет введено два равных числа подряд. Посчитать количество чисел в последовательности.‬

Пожалуйста помогите написать две программы

Дата отправки: 24.02.2012, 16:01
Вопрос задал: Денис Юрьевич (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Коцюрбенко Алексей aka Жерар (Академик):

Здравствуйте, Денис Юрьевич!

Программа для первой задачи (обработка запроса):

Код (PHP):
<?php
 if (empty($_POST)) echo "
<html>
<head>
 <title>Запрос</title>
</head>
<body>
 <form target='error' method=post>
 Каталог: <input name='dir' maxlength=255 style="'width:" 500px'>
 Запрос: <input name='req' maxlength=20 style="'width:" 150px'>
 <input type=submit value='Обработать запрос'>
 </form>
<iframe name='error' width=800 height=600 marginwidth=0 marginheight=0 frameborder=0></iframe>
</body>
</html>";
 else
 {
  if (empty($_POST['dir'])) die("Не указано имя каталога");
 $dir = trim($_POST['dir']);
  if (!is_dir($dir)) die("Каталог '$dir' не найден");
  elseif (!chdir($dir)) die("Каталог '$dir' не доступен");
  if (empty($_POST['req'])) die("Отсутствует запрос");
 $req = explode(' ', trim($_POST['req']), 3);
  if (sizeof($req) < 2) die("Отсутствуют параметры запроса");
  switch (strtolower($req[0]))
  {
  case 'delete': $files = glob("$dir/*.$req[1]*"); $n = sizeof($files);
   foreach ($files as $file) if (!unlink($file)) $n--;
  die("Удалено файлов: $n");
  case 'type': if (!is_file($file=$req[1])) die("Файл '$file' не найден");
   if ($text=file_get_contents($file)) die(nl2br($text));
   else die("Файл '$file' не может быть прочитан");
  case 'rename': $files = glob("$dir/$req[1]*.*"); $n = sizeof($files);
   foreach ($files as $file) if (!rename($file, substr_replace(basename($file),$req[2],0,strlen($req[2])))) $n--;
  die("Переименовано файлов: $n");
  default: die("Неправильный запрос");
  }
 }
?>

Запрос вводится в одном из трёх вариантов:
1) DELETE буква - удалить файлы, имеющие расширение на заданную букву;
2) TYPE имя файла - вывести файлы с заданным именем;
3) RENAME буква1 буква2 - переименовать файлы с именами, начинающимися на заданную букву, заменив её на другую заданную букву.
Имя запроса (DELETE, TYPE, RENAME) можно вводить в любом регистре, для остальных данных регистр имеет значение. В первом и третьем запросе буква может быть и строкой, состоящей из нескольких символов.

Программа для второй задачи (ввод чисел):
Код (PHP):
<?php
global $m, $n, $p;
echo "<html>
<head>
 <title>Последовательность чисел</title>
</head>
<body>";
extract($_POST);
 if (!empty($n)) $m++;
 if ($n==$p AND $m>0) echo "Ввод завершён. Было введено чисел: $m";
 else
 {
 echo "
 <form method=post>
 Введите очередное число: <input name='n' maxlength=10 style="'width:" 100px'>
 <input type=hidden name='m' value='$m'>
 <input type=hidden name='p' value='$n'>
 <input type=submit value='Ввести'>
 </form>
 Введено чисел: $m";
 }
echo "
</body>
</html>";
?>

Консультировал: Коцюрбенко Алексей aka Жерар (Академик)
Дата отправки: 24.02.2012, 23:05
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное