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

Материал из HLDM Wiki
Перейти к навигации Перейти к поиску
(Управление файлами)
Строка 14: Строка 14:
  
 
== Управление файлами ==
 
== Управление файлами ==
 +
 +
Функции, помогающие управлению файлами. Позволяют производить чтение, запись файлов.
  
 
=== get_ds_file_path ===
 
=== get_ds_file_path ===

Версия 12:55, 15 мая 2014


Набор функций для работы с выделенным сервером.

Загрузка помощника

$this->load->helper('ds');

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

application/helpers/ds_helper.php

Управление файлами

Функции, помогающие управлению файлами. Позволяют производить чтение, запись файлов.

get_ds_file_path

Получение полного пути к игровому серверу.

string get_ds_file_path( array $server_data )
server_data
Данные сервера.

Пример:

$server_id = 5;
$this->servers->get_server_data($server_id);
$path =  get_ds_file_path($this->servers->server_data);
echo $path; // Вернет что-то вроде /home/servers/my_server01/

get_file_protocol

Получение названия протокола передачи файлов (FTP, SFTP, Local).

string get_file_protocol( array $server_data )
server_data
Данные сервера.

Пример:

$server_id = 5;
$this->servers->get_server_data($server_id);
$protocol =  get_file_protocol($this->servers->server_data);
echo $protocol; // вернет ftp, sftp или local

get_file_protocol_config

Получение данных для соединения с sftp или ftp.

string get_file_protocol_config( array $server_data )
server_data
Данные сервера.

Пример:

$server_id = 5;
$this->servers->get_server_data($server_id);
$config =  get_file_protocol_config($this->servers->server_data);

print_r($config);
/* Array
(
    [driver] => sftp
    [hostname] => localhost
    [port] => 22
    [username] => root
    [password] => 12345678
) */

list_ds_files

Список файлов в директории.

array list_ds_files(string $dir, array $server_data [, bool $full_info = false ] [, array $extensions ] )
dir
Директория на выделенном сервере
server_data
Данные сервера.
full_info
Полная информация о файле (дата создания, размер).
extensions
Массив со списком расширений файлов.

Пример:

$server_id = 5;
$this->servers->get_server_data($server_id);
$dir = get_ds_file_path($this->servers->server_data) . '/cstrike/logs/';

$files_list = list_ds_files($dir, $this->servers->server_data, true, array('txt', 'log'));
print_r($files_list);
/*
Array
(
    [0] => Array
        (
            [file_name] => file1.log
            [file_time] => 1400096079
            [file_size] => 0
        )

    [1] => Array
        (
            [file_name] => file2.log
            [file_time] => 1400096113
            [file_size] => 9
        )

)
*/

$files_list = list_ds_files($dir, $this->servers->server_data, false, array('txt', 'log'));
print_r($files_list);
/*
Array
(
    [0] => file1.log
    [1] => file2.log
)
*/

read_ds_file

Читает содержимое файла на выделенном сервере.

string read_ds_file ( string $file, array $server_data )
file
Файл на выделенном сервере
server_data
Данные сервера

write_ds_file

Записывает данные в файл на выделенном сервере.

bool write_ds_file ( string $file, string $contents, array $server_data )
file
Файл на выделенном сервере
contents
Данные файла
server_data
Данные сервера

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

get_last_command

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

string get_last_command()

get_sended_commands

Список отправленных команд на выделенный сервер.

array get_sended_commands()

replace_shotcodes

Заменяет шоткоды в команде.

replace_shotcodes ( string $command, array $server_data )
command
Отправляемая команда с шоткодами
server_data
Данные сервера

send_command

Отправляет команду на сервер.

string send_command ( string $command, array $server_data [ , bool $path = false ] )
command
Отправляемая команда
server_data
Данные сервера
path
Путь. Перед отправкой команды будет выполнена смена на указанный путь.