Files Library GameAP: различия между версиями
Nikita (обсуждение | вклад) (→Основные функции) |
Nikita (обсуждение | вклад) |
||
(не показано 13 промежуточных версий этого же участника) | |||
Строка 14: | Строка 14: | ||
== Задание данных == | == Задание данных == | ||
− | === set_driver === | + | === $this->files->set_driver(); === |
Задает значение протокола управления файлами. | Задает значение протокола управления файлами. | ||
set_driver ( string $driver ) | set_driver ( string $driver ) | ||
Строка 32: | Строка 32: | ||
== Основные функции == | == Основные функции == | ||
− | === connect === | + | === $this->files->connect(); === |
Соединение с сервером. Если используется локальный протокол управления, то всегда вернет true. | Соединение с сервером. Если используется локальный протокол управления, то всегда вернет true. | ||
connect(array $config) | connect(array $config) | ||
Строка 50: | Строка 50: | ||
|} | |} | ||
− | === delete_dir === | + | '''Примеры:''' |
+ | <syntaxhighlight lang="php"> | ||
+ | $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()); | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | === $this->files->delete_dir(); === | ||
Удаление директории. | Удаление директории. | ||
+ | delete_dir ( string $path ) | ||
− | === delete_file === | + | '''Пример:''' |
+ | <syntaxhighlight lang="php"> | ||
+ | $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()); | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | === $this->files->delete_file(); === | ||
Удаление файла. | Удаление файла. | ||
+ | delete_file ( string $path ) | ||
+ | |||
+ | '''Пример:''' | ||
+ | <syntaxhighlight lang="php"> | ||
+ | $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()); | ||
+ | } | ||
− | + | </syntaxhighlight> | |
− | |||
− | === list_files === | + | === $this->files->download(); === |
+ | Загружает файлы с сервера. | ||
+ | download ( string $rempath, string $locpath ) | ||
+ | :'''rempath''' | ||
+ | ::Путь на сервере | ||
+ | :'''locpath''' | ||
+ | ::Локальный путь | ||
+ | |||
+ | '''Примеры:''' | ||
+ | <syntaxhighlight lang="php"> | ||
+ | $this->files->download('/public_html/myfile.html', '/local/path/to/myfile.html'); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Пример с подключением к серверу: | ||
+ | <syntaxhighlight lang="php"> | ||
+ | $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()); | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | Пример с получением данных сервера из базы и использования [[DS_Helper_GameAP|помощника DS]]: | ||
+ | <syntaxhighlight lang="php"> | ||
+ | $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()); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === $this->files->list_files(); === | ||
Список файлов. | Список файлов. | ||
+ | list_files( string $path = '.' [, bool $recursive = false]) | ||
+ | :'''path''' | ||
+ | ::Директория, файлы в которой необходимо получить. | ||
+ | :'''recursive''' | ||
+ | ::Рекурсивно в подкаталогах | ||
− | === list_files_full_info === | + | === $this->files->list_files_full_info(); === |
Список файлов с информацией о последнем изменении и размере. | Список файлов с информацией о последнем изменении и размере. | ||
+ | list_files_full_info( string $path = '.' [, array $extensions]) | ||
+ | :'''path''' | ||
+ | ::Директория, файлы в которой необходимо получить. | ||
+ | :'''extensions''' | ||
+ | ::Массив с расширениями файлов. Если задан, то будут получены лишь указанные типы файлов. | ||
− | === mkdir === | + | === $this->files->mkdir(); === |
Создание директории. | Создание директории. | ||
+ | mkdir ( string $dir ) | ||
+ | :'''dir''' | ||
+ | ::Директория | ||
− | === move === | + | === $this->files->move(); === |
− | Перемещение. | + | Перемещение файла или директории. |
+ | move(string $old_file, string $new_file) | ||
+ | :'''old_file''' | ||
+ | ::Старый путь | ||
+ | :'''new_file''' | ||
+ | ::Новый путь | ||
− | === read_file === | + | === $this->files->read_file(); === |
Чтение файла. | Чтение файла. | ||
+ | read_file ( string $remfile ) | ||
+ | :'''remfile''' | ||
+ | ::Путь к файлу | ||
− | === write_file === | + | '''Примеры:''' |
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | $this->files->read_file('/path/to/myfile.txt'); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Пример с подключением к серверу: | ||
+ | <syntaxhighlight lang="php"> | ||
+ | $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; | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Пример с получением данных сервера из базы и использования [[DS_Helper_GameAP|помощника DS]]: | ||
+ | <syntaxhighlight lang="php"> | ||
+ | $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; | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === $this->files->write_file(); === | ||
Запись файла. | Запись файла. | ||
+ | write_file( string $remfile, string $data = '') | ||
+ | :'''remfile''' | ||
+ | ::Путь к файлу | ||
+ | :data | ||
+ | ::Текстовые данные | ||
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | $file_contents = 'Текстовые данные'; | ||
+ | $this->files->write_file('/path/to/myfile.txt', $file_contents); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Пример с подключением к серверу: | ||
+ | <syntaxhighlight lang="php"> | ||
+ | $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()); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Пример с получением данных сервера из базы и использования [[DS_Helper_GameAP|помощника DS]]. Полноценный пример, автоматическое определение протокола (FTP, SFTP или Local). | ||
+ | <syntaxhighlight lang="php"> | ||
+ | $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()); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
− | === rename === | + | === $this->files->rename(); === |
− | Переименование. | + | Переименование файла. |
+ | rename(string $old_file, string $new_file [, bool $move]) | ||
+ | :'''old_file''' | ||
+ | ::Старое имя | ||
+ | :'''new_file''' | ||
+ | ::Новое имя | ||
+ | :'''move''' | ||
+ | ::Перемещение файла | ||
− | === search === | + | === $this->files->search(); === |
− | Поиск. | + | Поиск файла. Возвращает путь к первому найденному файлу. |
+ | search(string $file [ , string $dir = '/' ] [ , array $exclude_dirs = array() ] [ , int $depth = 4 ] ) | ||
+ | :'''file''' | ||
+ | ::Имя файла, который необходимо найти | ||
+ | :'''dir''' | ||
+ | ::Директория, в которой будет происходить поиск | ||
+ | :'''exclude_dirs''' | ||
+ | ::Директории, которые будут игнорироваться | ||
+ | :'''depth''' | ||
+ | ::Глубина рекурсии | ||
− | === upload === | + | === $this->files->upload(); === |
Загрузка файла на сервер. | Загрузка файла на сервер. | ||
+ | upload(string $locpath, string $rempath) | ||
+ | |||
+ | :'''locpath''' | ||
+ | ::Локальный путь | ||
+ | :'''rempath''' | ||
+ | ::Путь на сервере | ||
{{Категория:Документация_для_разработчиков}} | {{Категория:Документация_для_разработчиков}} |
Текущая версия на 11:19, 19 июня 2014
Библиотека для работы с файлами на выделенном сервере.
Содержание
- 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 |