Files Library GameAP
Библиотека для работы с файлами на выделенном сервере.
Содержание
- 1 Расположение
- 2 Загрузка библиотеки
- 3 Задание данных
- 4 Основные функции
- 4.1 $this->files->connect();
- 4.2 $this->files->delete_dir();
- 4.3 $this->files->delete_file();
- 4.4 $this->files->download();
- 4.5 $this->files->list_files();
- 4.6 $this->files->list_files_full_info();
- 4.7 $this->files->mkdir();
- 4.8 $this->files->move();
- 4.9 $this->files->read_file();
- 4.10 $this->files->write_file();
- 4.11 $this->files->rename();
- 4.12 $this->files->search();
- 4.13 $this->files->upload();
Расположение
application/libraries/Files/
Загрузка библиотеки
$this->load->driver('files');
Задание данных
$this->files->set_driver();
Задает значение протокола управления файлами.
set_driver ( string $driver )
Список доступных опций:
Название | Описание |
---|---|
local | Локальный протокол. |
ftp | FTP протокол управления файлами. |
sftp | SFTP протокол управления файлами. |
Основные функции
$this->files->connect();
Соединение с сервером. Если используется локальный протокол управления, то всегда вернет true.
connect(array $config)
- config
- Массив с параметрами для соединения с сервером.
Значение | Описание |
---|---|
hostname | Хост |
port | Порт |
username | Логин |
password | Пароль |
Примеры:
$config['hostname'] = '127.0.0.1';
$config['port'] = 21;
$config['username'] = 'ftp_user';
$congif['password'] = 'pass123';
try {
$this->files->connect($config);
} catch (Exception $e) {
exit('Ошибка: ' . $e->getMessage());
}
$this->files->delete_dir();
Удаление директории.
delete_dir ( string $path )
Пример:
$config = array('hostname' => '127.0.0.1', 'port' => 21, 'username' => 'ftp_user', 'password' => 'pass123');
try {
$this->files->connect($config);
$this->files->delete_dir('/home/servers/my_dir');
} catch (Exception $e) {
exit('Ошибка: ' . $e->getMessage());
}
$this->files->delete_file();
Удаление файла.
delete_file ( string $path )
Пример:
$config = array('hostname' => '127.0.0.1', 'port' => 21, 'username' => 'ftp_user', 'password' => 'pass123');
try {
$this->files->connect($config);
$this->files->delete_file('/home/servers/my_file.txt');
} catch (Exception $e) {
exit('Ошибка: ' . $e->getMessage());
}
$this->files->download();
Загружает файлы с сервера.
download ( string $rempath, string $locpath )
- rempath
- Путь на сервере
- locpath
- Локальный путь
Примеры:
$this->files->download('/public_html/myfile.html', '/local/path/to/myfile.html');
Пример с подключением к серверу:
$config = array('hostname' => '127.0.0.1', 'port' => 21, 'username' => 'ftp_user', 'password' => 'pass123');
try {
$this->files->connect($config);
$this->files->download('/public_html/myfile.html', '/local/path/to/myfile.html');
} catch (Exception $e) {
exit('Ошибка: ' . $e->getMessage());
}
Пример с получением данных сервера из базы и использования помощника DS:
$this->load->helper('ds');
$this->load->model('servers');
$server_id = 5;
$this->servers->get_server_data($server_id);
$config = get_file_protocol_config($this->servers->server_data);
try {
$this->files->connect($config);
$this->files->download('/public_html/myfile.html', '/local/path/to/myfile.html');
} catch (Exception $e) {
exit('Ошибка: ' . $e->getMessage());
}
$this->files->list_files();
Список файлов.
list_files( string $path = '.' [, bool $recursive = false])
- path
- Директория, файлы в которой необходимо получить.
- recursive
- Рекурсивно в подкаталогах
$this->files->list_files_full_info();
Список файлов с информацией о последнем изменении и размере.
list_files_full_info( string $path = '.' [, array $extensions])
- path
- Директория, файлы в которой необходимо получить.
- extensions
- Массив с расширениями файлов. Если задан, то будут получены лишь указанные типы файлов.
$this->files->mkdir();
Создание директории.
mkdir ( string $dir )
- dir
- Директория
$this->files->move();
Перемещение файла или директории.
move(string $old_file, string $new_file)
- old_file
- Старый путь
- new_file
- Новый путь
$this->files->read_file();
Чтение файла.
read_file ( string $remfile )
- remfile
- Путь к файлу
Примеры:
$this->files->read_file('/path/to/myfile.txt');
Пример с подключением к серверу:
$config = array('hostname' => '127.0.0.1', 'port' => 21, 'username' => 'ftp_user', 'password' => 'pass123');
try {
$this->files->connect($config);
$file_data = $this->files->read_file('/path/to/myfile.txt');
} catch (Exception $e) {
exit('Ошибка: ' . $e->getMessage());
}
echo $file_data;
Пример с получением данных сервера из базы и использования помощника DS:
$this->load->helper('ds');
$this->load->model('servers');
$server_id = 5;
$this->servers->get_server_data($server_id);
$config = get_file_protocol_config($this->servers->server_data);
try {
$this->files->connect($config);
$file_data = $this->files->read_file('/path/to/myfile.txt');
} catch (Exception $e) {
exit('Ошибка: ' . $e->getMessage());
}
echo $file_data;
$this->files->write_file();
Запись файла.
write_file( string $remfile, string $data = )
- remfile
- Путь к файлу
- data
- Текстовые данные
$file_contents = 'Текстовые данные';
$this->files->write_file('/path/to/myfile.txt', $file_contents);
Пример с подключением к серверу:
$config = array('hostname' => '127.0.0.1', 'port' => 21, 'username' => 'ftp_user', 'password' => 'pass123');
try {
$this->files->connect($config);
$file_contents = 'Текстовые данные, записываемые в файл';
$this->files->write_file('/path/to/myfile.txt', $file_contents);
} catch (Exception $e) {
exit('Ошибка: ' . $e->getMessage());
}
Пример с получением данных сервера из базы и использования помощника DS. Полноценный пример, автоматическое определение протокола (FTP, SFTP или Local).
$this->load->helper('ds');
$this->load->model('servers');
$server_id = 5;
$this->servers->get_server_data($server_id);
$config = get_file_protocol_config($this->servers->server_data);
$file_contents = 'Текстовые данные, записываемые в файл';
try {
$this->files->connect($config);
$this->files->write_file('/path/to/myfile.txt', $file_contents);
} catch (Exception $e) {
exit('Ошибка: ' . $e->getMessage());
}
$this->files->rename();
Переименование файла.
rename(string $old_file, string $new_file [, bool $move])
- old_file
- Старое имя
- new_file
- Новое имя
- move
- Перемещение файла
$this->files->search();
Поиск файла. Возвращает путь к первому найденному файлу.
search(string $file [ , string $dir = '/' ] [ , array $exclude_dirs = array() ] [ , int $depth = 4 ] )
- file
- Имя файла, который необходимо найти
- dir
- Директория, в которой будет происходить поиск
- exclude_dirs
- Директории, которые будут игнорироваться
- depth
- Глубина рекурсии
$this->files->upload();
Загрузка файла на сервер.
upload(string $locpath, string $rempath)
- locpath
- Локальный путь
- rempath
- Путь на сервере
Документация для разработчиков | |
---|---|
Помощники: | •DS Helper |
Модели: | •Users •Servers •Games •Game Types |
Библиотеки: | •Query •Rcon •Control •Files •Install |