Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Поиск файла по примерному названию php

Опубликовано:

Здравствуйте. Я реализовал функционал просмотра лога, хочу добавить к просмотру определенного лога второй файл из другой папки, это тоже лог, но он создается чуть позже и соответственно другое название.

 

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

Изменено пользователем TemKa_SD

Рекомендованные сообщения

Опубликовано:

Ну так у вас запуск в разных процессах php происходит, так да - не выйдет. Я думал это все происходит под одним запросом.

У вас тут multiple redirect, как вариант можете передавать время между сессиями через $data (get параметр). Либо да, через бд.

Опубликовано:
  • Автор

Спасибо, сделаю через бд, всё равно там как минимум PID выбирается и записывается, нагрузки лишней не будет.

Опубликовано:
  • Автор

http://prntscr.com/nnnra0 int использовать?

 

Здесь меня интересует грамотность реализации этого поля, всё же есть timestimp, лучше же его?

Изменено пользователем TemKa_SD

Опубликовано:

Да. У вас поле datetime а вы заносите timestamp.

Опубликовано:
  • Автор

Да, я понял. Скажите, какой лучше формат для этого использовать? timestimp или datetime?

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.