Forum Webscript.Ru

Программирование => PHP => Тема начата: Radius от 26 Декабря 2003, 22:25:00

Название: Работа с реестром
Отправлено: Radius от 26 Декабря 2003, 22:25:00
Хотелось бы узнать, можно вообще работать с виндовым реестром через PHP?
Название: Работа с реестром
Отправлено: Меняздесьдавнонет от 27 Декабря 2003, 00:34:38
какие только эротические фантазии в голову людям не приходят...

Ты с реестром так, без РНР-то умеешь работать? Кроме как в красивых окошечках?
Название: Работа с реестром
Отправлено: CGVictor от 27 Декабря 2003, 10:02:23
2RomicChef
Согласен.
Интересно, а зачем вообще может понадобиться работа с виндовым реестром из скрипта?

2Radius
Наверное, нет.
Название: Работа с реестром
Отправлено: USE от 27 Декабря 2003, 12:45:20
Radius
наверняка еще и на стороне клиента? ;-)
Название: Работа с реестром
Отправлено: FreeSpace от 27 Декабря 2003, 13:48:15
Цитировать
USE:
наверняка еще и на стороне клиента? ;-)

:D

[p]COM[/p]?
Название: Работа с реестром
Отправлено: Login_OFF от 01 Апреля 2006, 12:47:37
а серьёзно ? есть такая возможность ? без создания бат файлов и т.д.
очень нада брать инфу с реестра для работы с вингейтовской базой пользователей...
Название: Работа с реестром
Отправлено: reLax[0x00] от 01 Апреля 2006, 14:05:11
нет ничего невозможного с PHP - функция system(); -  reg.exe - работа с реестром из cmd попробуй поюзать

Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\\Documents and Settings\\reLax>reg

Программа редактирования системного реестра из командной строки, версия 3.0
(C) Корпорация Майкрософт, 1981-2001. Все права защищены


REG <Операция> [Список параметров]

  <Операция> ==  [ QUERY   | ADD    | DELETE  | COPY    |
                   SAVE    | LOAD   | UNLOAD  | RESTORE |
                   COMPARE | EXPORT | IMPORT ]

Код возврата: (за исключением REG COMPARE)

  0 - Успешно
  1 - С ошибкой

Для получения справки по определенной операции введите:

  REG /?

Примеры:

  REG QUERY /?
  REG ADD /?
  REG DELETE /?
  REG COPY /?
  REG SAVE /?
  REG RESTORE /?
  REG LOAD /?
  REG UNLOAD /?
  REG COMPARE /?
  REG EXPORT /?
  REG IMPORT /?

C:\\Documents and Settings\\reLax>
Название: Работа с реестром
Отправлено: Login_OFF от 01 Апреля 2006, 14:16:21
Спасибо, буду разбиратся :)
Название: Работа с реестром
Отправлено: reLax[0x00] от 01 Апреля 2006, 14:28:57
могу примерный код подсказать даже :) я такое уже делал-правда под *nix - смотри сам может пригодится-здесь simple-скрипт типа "GUI" типа для $BASH:



require_once $_SERVER[\'DOCUMENT_ROOT\']."/functions.php";
$tools = array(\'Whois\',\'Ping\',\'Traceroute\');
function showbox () {
global $form, $error, $submit;
if (isset ($_POST[\'submit\'])) {
$error = checkform(key($_POST[\'submit\']));
if (empty ($error[0])) {
        showform();        
   sendinfo ();
       
         
} else {
echo "";
showform();
}
} else {
   showform();
}
}

function showform () {
global $form, $error, $submit, $tools;
if (!isset ($GLOBALS[\'error\'][0])) {
$val[0] = $val[1] = $val[2] = $_SERVER[\'REMOTE_ADDR\'];
} else {
$val[0] = $GLOBALS[\'form\'][\'Whois\'];
$val[1] = $GLOBALS[\'form\'][\'Ping\'];
$val[2] = $GLOBALS[\'form\'][\'Traceroute\'];
}
foreach ($tools as $key=>$value) {
$class[$key] = (isset($GLOBALS[\'error\'][$key+1]))? "class=\\"error\\"":"class=\\"normal\\"";
}

$html.=<<<__EAX__


__EAX__;

$root = end ($tools);
foreach ($tools as $key=>$value) {
$html.=<<<__MID__
$value







__MID__;

$html.= ($root!=$value)?\'
\':\'\';
}


$html.= "
";

echo table($html);
}

function checkform ($key) {
global $form, $error, $submit,$tools;

$error[0]=NULL;

if (isset ($_POST[\'submit\'][$key])):
if (!preg_match (\'%(^[a-z0-9])[\\w\\.\\-]+$%i\', $_POST[\'form\'][$key])) {
$error[0] = "* Введите правильно IP-адрес или домен в поле ".$key;
foreach ($tools as $arrkey => $arrval) {
$error[$arrkey+1] = ($arrval == $key)?1:NULL; }
}
endif;

return $error;
}

function sendinfo () {
global $form, $error, $submit;
spacer ();


echo "
";
switch ($_POST[\'submit\']) {

case (isset ($_POST[\'submit\'][\'Whois\'])):
echo "Результат запроса к WHOIS серверам домена ".$GLOBALS[\'form\'][\'Whois\'].":";
echo "
";
ob_end_flush();
$command = "whois ".$GLOBALS[\'form\'][\'Whois\'];
system (escapeshellcmd($command));
flush();
ob_flush();
break;

case (isset ($_POST[\'submit\'][\'Ping\'])):
$command = "ping -c 5 ".$GLOBALS[\'form\'][\'Ping\'];
echo "Результат PING статистики между ".$_SERVER[\'HTTP_HOST\']." и ".$GLOBALS[\'form\'][\'Ping\'].":";
echo "
";
ob_end_flush();
system (escapeshellcmd($command));

flush();
ob_flush();
break;

case (isset ($_POST[\'submit\'][\'Traceroute\'])):
$command = "traceroute ".$GLOBALS[\'form\'][\'Traceroute\'];
echo "Результат трассировки маршрута между ".$_SERVER[\'HTTP_HOST\']." и ".$GLOBALS[\'form\'][\'Traceroute\'].":";
echo "
";
ob_end_flush();
system (escapeshellcmd($command));
flush();
ob_flush();
break;
}
echo "\\n";
ob_start (\'optimize\');
echo "
";


}

showbox();


?>

Название: Работа с реестром
Отправлено: reLax[0x00] от 01 Апреля 2006, 17:59:12
а вообще-выкинь свой вынь-из-гея. ISA 2004 заюзай если у тебя прокси под виндой-не пожалеешь. Реальный прокси+фаерволл сделали мелкомягкие - у самого массивы ISA в DMZ сетях с Firewall Client\'s стоят - в ежовых рукавицах будешь юзеров держать-NAT давно уже в прокате...(правда дальше стоят фря+киска, но этого я считай что не говорил ;)
Название: Работа с реестром
Отправлено: CGVictor от 01 Апреля 2006, 20:32:34
[moderatorial]
Модераторы PHP, прибейте тему.
Слишком много умных здесь, поднимать темы трехлетней давности и говорить о том, о чем не имеют понятия.