@ShVad

ISP Manager 5 API — Как редактировать файл?

Добрый день

Как в ISP Manager 5 через API отредактировать файл?

Исходя из документации на адрес: /manager/ispmgr?authinfo=LOGIN:PASS&out=json&func=file.edit

Нужно отправить GET запрос:
[sok] => ok
[elid] => test.php
[plid] => /www/folder
[full_filepath] => ~/www/folder/test.php
[encoding] => UTF-8
[fdata] => Содержимое файла
[func] => file.edit


В результате запроса содержимое файла затирается (если файл был не пустой).
Пробовал эти же данные отправлять POST запросом, в результате выдает страницу авторизации.

Как правильно отредактировать файл?

Спасибо
  • Вопрос задан
  • 462 просмотра
Решения вопроса 1
@ShVad Автор вопроса
Решение:

Получаем номер сессии GET запросом:
https://192.168.1.1:1500/ispmgr?authinfo=login:pass&out=json&func=auth&lang=ru


Отправляем POST запрос:
https://192.168.1.1:1500/ispmgr?auth=Номер_сессии&out=json


header:
Content-type: application/x-www-form-urlencoded
Cookie: ispmgrses5=Номер_сессии;
ISP-Client: Web-interface
Referer: https://192.168.1.1:1500/ispmgr

content:
[sok] => ok
[func] => file.edit
[elid] => file.php
[plid] => www
[full_filepath] => www/file.php
[encoding] => UTF-8
[fdata] => FILE CONTENT


Файл отредактирован.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@nikoniki
...........
// Создание файла
$this->queryData([
'func' => 'file.new',
'dataType' => 'JSONdata',
'return_type' => 'ARR2',
'get' => [
'sok' => 'ok',
'plid' => $site['dirname'].$dir,
'filetype' => 0,
'name' => $file_name,
'dest' => '',
'lang' => 'ru'
]
]);

// Изменение файла
$this->mdl_isp->queryData([
'func' => 'file.edit',
'dataType' => 'JSONdata',
'return_type' => 'ARR2',
'post' => [
'full_filepath' => $site['dirname'].$dir,
'fdata' => $content,
'elid' => $file_name,
'plid' => $site['dirname'].$dir,
'encoding' => 'UTF-8',
'mode' => 'html',
'lang' => 'ru',
'sok' => 'ok'
]
]);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы