Опубликовано: 11 мая 20196 г Здравствуйте. Я реализовал функционал просмотра лога, хочу добавить к просмотру определенного лога второй файл из другой папки, это тоже лог, но он создается чуть позже и соответственно другое название. bot25_11_05_2019_20:22:51.log - основной лог.bot25_11_05_2019_20:22:52.log - вторичный лог. public function viewFile() { if ( \IPS\NO_WRITES ) { \IPS\Output::i()->error( 'no_writes', '1C324/4', 403, '' ); } $file = static::logDir() . \IPS\Request::i()->file; $file_gcb = static::logDirGCB() . \IPS\Request::i()->file; if ( !is_file( $file ) ) { \IPS\Output::i()->error( 'node_error', '2C324/5', 404, '' ); } \IPS\Output::i()->sidebar['actions']['delete'] = array( 'icon' => 'times-circle', 'link' => \IPS\Http\Url::internal( 'app=wc3&module=bots&controller=logs&do=delete' )->setQueryString( 'file', \IPS\Request::i()->file ), 'title' => 'delete', 'data' => array( 'confirm' => '' ) ); $log = file($file); $log = \array_slice( $log, -400, 400, TRUE ); $gcb_log = file($file_gcb); $gcb_log = \array_slice( $file_gcb, -400, 400, TRUE ); \IPS\Output::i()->title = basename( $file ); \IPS\Output::i()->breadcrumb[] = array( \IPS\Http\Url::internal( "app=wc3&module=bots&controller=logs" ), \IPS\Member::loggedIn()->language()->addToStack('menu__wc3_bots_logs') ); \IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'logs' )->view( implode("", $log), implode("", $gcb_log) ); } Второстепенный лог, в котором нужно реализовать что-то вроде функции поиска по названию файла основного лога. $file_gcb = static::logDir() . \IPS\Request::i()->file; Так вот оно грузит, если названия одинаковые: http://prntscr.com/nnbw7b Изменено 11 мая 20196 г пользователем TemKa_SD
Опубликовано: 12 мая 20196 г Ну так у вас запуск в разных процессах php происходит, так да - не выйдет. Я думал это все происходит под одним запросом.У вас тут multiple redirect, как вариант можете передавать время между сессиями через $data (get параметр). Либо да, через бд.
Опубликовано: 12 мая 20196 г Автор Спасибо, сделаю через бд, всё равно там как минимум PID выбирается и записывается, нагрузки лишней не будет.
Опубликовано: 12 мая 20196 г Автор http://prntscr.com/nnnra0 int использовать? Здесь меня интересует грамотность реализации этого поля, всё же есть timestimp, лучше же его? Изменено 12 мая 20196 г пользователем TemKa_SD
Опубликовано: 13 мая 20196 г Автор Да, я понял. Скажите, какой лучше формат для этого использовать? timestimp или datetime?
Здравствуйте. Я реализовал функционал просмотра лога, хочу добавить к просмотру определенного лога второй файл из другой папки, это тоже лог, но он создается чуть позже и соответственно другое название.
bot25_11_05_2019_20:22:51.log - основной лог.
bot25_11_05_2019_20:22:52.log - вторичный лог.
public function viewFile() { if ( \IPS\NO_WRITES ) { \IPS\Output::i()->error( 'no_writes', '1C324/4', 403, '' ); } $file = static::logDir() . \IPS\Request::i()->file; $file_gcb = static::logDirGCB() . \IPS\Request::i()->file; if ( !is_file( $file ) ) { \IPS\Output::i()->error( 'node_error', '2C324/5', 404, '' ); } \IPS\Output::i()->sidebar['actions']['delete'] = array( 'icon' => 'times-circle', 'link' => \IPS\Http\Url::internal( 'app=wc3&module=bots&controller=logs&do=delete' )->setQueryString( 'file', \IPS\Request::i()->file ), 'title' => 'delete', 'data' => array( 'confirm' => '' ) ); $log = file($file); $log = \array_slice( $log, -400, 400, TRUE ); $gcb_log = file($file_gcb); $gcb_log = \array_slice( $file_gcb, -400, 400, TRUE ); \IPS\Output::i()->title = basename( $file ); \IPS\Output::i()->breadcrumb[] = array( \IPS\Http\Url::internal( "app=wc3&module=bots&controller=logs" ), \IPS\Member::loggedIn()->language()->addToStack('menu__wc3_bots_logs') ); \IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'logs' )->view( implode("", $log), implode("", $gcb_log) ); }Второстепенный лог, в котором нужно реализовать что-то вроде функции поиска по названию файла основного лога.
Так вот оно грузит, если названия одинаковые: http://prntscr.com/nnbw7b
Изменено пользователем TemKa_SD