Control Library GameAP: различия между версиями

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(set_driver)
 
(не показано 10 промежуточных версий этого же участника)
Строка 14: Строка 14:
 
== Задание данных ==
 
== Задание данных ==
  
=== set_driver ===
+
=== $this->control->set_driver(); ===
Задает драйвер для управления файлами.
+
Задает драйвер.
 
  set_driver ( string $driver )
 
  set_driver ( string $driver )
 +
 +
Доступные опции:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Название !! Описание
 
! Название !! Описание
 
|-
 
|-
| local || Локальный протокол для управления файлами.
+
| local || Локальный протокол. Будет использоваться функция [http://www.php.net/manual/ru/function.exec.php exec].
 
|-
 
|-
| ftp || [http://ru.wikipedia.org/wiki/FTP FTP] протокол для управления файлами.
+
| ssh || [http://ru.wikipedia.org/wiki/SSH SSH] протокол управления.
 
|-
 
|-
| sftp || [http://ru.wikipedia.org/wiki/SFTP SFTP] протокол для управления файлами.
+
| telnet || [http://ru.wikipedia.org/wiki/Telnet Telnet] протокол управления.
 
|}
 
|}
  
=== set_data ===
+
=== $this->control->set_data(); ===
 
Задает прочие данные. Такие, как операционная система и рабочая директория.
 
Задает прочие данные. Такие, как операционная система и рабочая директория.
 
  set_data ( array $data )
 
  set_data ( array $data )
Строка 38: Строка 40:
 
$this->control->set_data($ds);
 
$this->control->set_data($ds);
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== Основные функции ==
 +
 +
=== $this->control->connect(); ===
 +
Соединение по выбранному протоколу.
 +
connect ( string $host, int $port )
 +
 +
'''Пример:'''
 +
<syntaxhighlight lang="php">
 +
try {
 +
    $this->control->set_driver('ssh');
 +
    $this->control->connect('127.0.0.1', 22);
 +
} catch (Exception $e) {
 +
    echo 'Ошибка: ' . $e->getMessage;
 +
}
 +
</syntaxhighlight>
 +
 +
=== $this->control->auth(); ===
 +
Авторизация. Производит авторизацию на SFTP или FTP сервере. Если задан локальный протокол управления (Local), то всегда вернет true.
 +
auth ( string $login, string $password )
 +
 +
'''Пример:'''
 +
<syntaxhighlight lang="php">
 +
try {
 +
    $this->control->set_driver('ssh');
 +
    $this->control->connect('127.0.0.1', 22);
 +
    $this->control->auth('root', 'password12345');
 +
} catch (Exception $e) {
 +
    echo 'Ошибка: ' . $e->getMessage;
 +
}
 +
</syntaxhighlight>
 +
 +
=== $this->control->command(); ===
 +
Отправка команды.
 +
string command ( string $command [ , $path ])
 +
 +
'''Пример:'''
 +
<syntaxhighlight lang="php">
 +
try {
 +
    $this->control->set_driver('ssh');
 +
    $this->control->connect('127.0.0.1', 22);
 +
    $this->control->auth('root', 'password12345');
 +
    $result = $this->control->command('whoami');
 +
} catch (Exception $e) {
 +
    exit('Ошибка: ' . $e->getMessage);
 +
}
 +
echo $result;
 +
</syntaxhighlight>
 +
 +
=== $this->control->exec(); ===
 +
Алиас [[Control_Library_GameAP#command|command]]
 +
 +
=== $this->control->get_commands_result(); ===
 +
Получение результатов всех отправленных команд.
 +
array get_commands_result ( )
 +
 +
=== $this->control->get_last_command(); ===
 +
Получение последней отправленной команды.
 +
string get_last_command ( )
 +
 +
=== $this->control->get_sended_commands(); ===
 +
Получение всех отправленных команд на сервер.
 +
array get_sended_commands ( )
  
 
{{Категория:Документация_для_разработчиков}}
 
{{Категория:Документация_для_разработчиков}}

Текущая версия на 11:15, 19 июня 2014


Библиотека для отправки команд на выделенный сервер

Расположение

application/libraries/Control/

Загрузка библиотеки

$this->load->driver('control');

Задание данных

$this->control->set_driver();

Задает драйвер.

set_driver ( string $driver )

Доступные опции:

Название Описание
local Локальный протокол. Будет использоваться функция exec.
ssh SSH протокол управления.
telnet Telnet протокол управления.

$this->control->set_data();

Задает прочие данные. Такие, как операционная система и рабочая директория.

set_data ( array $data )

Пример:

$ds['os']    = 'linux';
$ds['path'] = '/home/servers';
$this->control->set_data($ds);

Основные функции

$this->control->connect();

Соединение по выбранному протоколу.

connect ( string $host, int $port )

Пример:

try {
    $this->control->set_driver('ssh');
    $this->control->connect('127.0.0.1', 22);
} catch (Exception $e) {
    echo 'Ошибка: ' . $e->getMessage;
}

$this->control->auth();

Авторизация. Производит авторизацию на SFTP или FTP сервере. Если задан локальный протокол управления (Local), то всегда вернет true.

auth ( string $login, string $password )

Пример:

try {
    $this->control->set_driver('ssh');
    $this->control->connect('127.0.0.1', 22);
    $this->control->auth('root', 'password12345');
} catch (Exception $e) {
    echo 'Ошибка: ' . $e->getMessage;
}

$this->control->command();

Отправка команды.

string command ( string $command [ , $path ])

Пример:

try {
    $this->control->set_driver('ssh');
    $this->control->connect('127.0.0.1', 22);
    $this->control->auth('root', 'password12345');
    $result = $this->control->command('whoami');
} catch (Exception $e) {
    exit('Ошибка: ' . $e->getMessage);
}
echo $result;

$this->control->exec();

Алиас command

$this->control->get_commands_result();

Получение результатов всех отправленных команд.

array get_commands_result ( )

$this->control->get_last_command();

Получение последней отправленной команды.

string get_last_command ( )

$this->control->get_sended_commands();

Получение всех отправленных команд на сервер.

array get_sended_commands ( )