Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
Опыт и разработки пользователей ИРБИС :  ИРБИС Irbis
 
Страницы: <<12
Страница: 2 из 2
Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: ivikis (IP-адрес скрыт)
Дата: 18, August, 2016 16:56

Отключение ничего не дало. И с документацией не получилось ...

Вложения: Сервер ИРБИС64.doc (1.69MB)  
Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: zagzag (IP-адрес скрыт)
Дата: 19, August, 2016 09:14

Варианта два:
1. Подслушивать что передает клиент серверу на порт 6666 при авторизации и из PHP отправлять то же самое. Возможно, потом придется подслуживать и другие команды.

2. Перейти на более новую версию ИРБИС

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: ivikis (IP-адрес скрыт)
Дата: 19, August, 2016 11:31

Попытался подключиться к v2015 ... не получилось:
Connect... offline

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: zagzag (IP-адрес скрыт)
Дата: 19, August, 2016 12:07

Скорее всего проблемы с подключением.

Вот немного упрощенный код, без класса "Электронный каталог"

http://pastebin.com/1k1P2g4t

У меня пишет
Connect - OK
Login - OK
Max. MFN = 71040

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: ivikis (IP-адрес скрыт)
Дата: 19, August, 2016 13:48

Connect - Bad

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: zagzag (IP-адрес скрыт)
Дата: 19, August, 2016 13:54

Значит проблемы с 2015 сервером, не принимает подключения.
Настройки IP и порта верно указаны? Брандмауер не блокирует входящие подключения на сервере? Я так понимаю, что 2015 на другом компьютере установлен?

Должен быть разрешен сетевой доступ с компьютера где установлен веб-сервер (где фактически работает скрипт PHP) на ирбис-сервер. Можно еще проверить возможность подключения, запустив клиентский АРМ

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: ivikis (IP-адрес скрыт)
Дата: 23, August, 2016 08:36

Добрый день.
Разобрался с подключением к v2015 (эта версия была подключена на нестандартный порт - так что прошу прощения за хлопоты). Упрощенный вариант сработал:

Connect - OK
Login - OK
Max. MFN = 138

Огромное спасибо !!! Напомните, пожалуйста, ссылочку где можно отслеживать обновления Вашей разработки.
С уважением, Александр.

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: zagzag (IP-адрес скрыт)
Дата: 23, August, 2016 11:13

На гитхабе
https://github.com/AleksandrDruzhinin/irbis64-php

но и в этой теме тоже

Пока разработка приостановилась, т.к. на другой проект переключился. Но все замечания и предложения принимаю.

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: ivikis (IP-адрес скрыт)
Дата: 23, August, 2016 13:46

Благодарю !!!

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: Dmitrin (IP-адрес скрыт)
Дата: 27, September, 2016 11:40

Добрый день. А подскажите, где можно взять информацию об использовании ключевых букв? Вот есть пример

/* Пример для поиска книги (ПО АВТОРУ "Иванов..." ИЛИ "Петров...") И (ВИД ДОКУМЕНТА = ОДНОТОМНИК ИЛИ МНОГОТОМНИК) И (КЛЮЧЕВЫЕ СЛОВА СОДЕРЖАТ "фантастика")
$search_exp = '("A=Иванов$" +"A=Петров$") * ("V=03" + "V=05") * ("K=фантастика$")';
$ret = $irbis->records_search($search_exp, 1000, 1, '@brief');

Где можно посмотреть, что именно вид документа это V, V=03 это Однотомник и так далее?

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 27, September, 2016 12:48

Dmitrin написал(а):
-------------------------------------------------------
> Где можно посмотреть, что именно вид документа это
> V, V=03 это Однотомник и так далее?

Файл VD.MNU в папке Deposit на сервере -- здесь перечислены коды.

Секция SEARCH в файле irbisc.ini (или irbisr.ini) опять же на сервере -- здесь перечислены используемые префиксы.

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: Dmitrin (IP-адрес скрыт)
Дата: 27, September, 2016 14:20

А они для всех одинаковы? Не могли бы вы эти файлы скинуть, пока нет доступа к серверу.

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: amironov73 (IP-адрес скрыт)
Дата: 27, September, 2016 15:11

Dmitrin написал(а):
-------------------------------------------------------
> А они для всех одинаковы? Не могли бы вы эти файлы
> скинуть, пока нет доступа к серверу.

См. прикрепленные файлы.

Библиотека может настроить эти файлы любым удобным для себя способом, в том числе удалить формирование поиска по виду документов (если решит, что такой поиск им не нужен). В этом большое преимущество ИРБИСа перед системами, где настройку может выполнить только специально приглашенный представитель производителя.

Так что надо быть готовым к тому, что у клиента не окажется поиска по префиксу V=, или он будет иметь совершенно иной смысл, например, будет означать объем издания.

Правда, подавляющее большинство библиотек подобными экспериментами не занимаются, и это хорошо. smiling smiley

Изучить ИРБИС64 "вдоль и поперёк" можно с помощью демонстрационной версии, которую можно скачать по адресу ftp://ftp.gpntb.ru/pub/irbis/irbis64_DEMO.zip.

Демонстрационная версия не имеет ограничения по времени, в ней лишь ограничено число записей в каталоге. В остальном же она полностью аналогичная рабочей версии программы. Также в нее включен полный комплект документации.

Вложения: irbisc.ini (25.7KB)   VD.MNU (1.8KB)  
Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: Dmitrin (IP-адрес скрыт)
Дата: 05, October, 2016 08:24

Спасибо большое) А не подскажите, случайно нет готового класса на php для поиска по алфавиту, по какому-либо расширенному поиску по книгам, авторам?

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: zagzag (IP-адрес скрыт)
Дата: 05, October, 2016 11:18

Класс https://github.com/AleksandrDruzhinin/irbis64-php может производить поиск по словарям и последовательный поиск по записям (синтаксис UNIFOR)

Для поиска по словарю достаточно условия

$search_exp = '("A=Иванов$" +"A=Петров$") * ("V=03" + "V=05") * ("K=фантастика$")';
$ret = $irbis->records_search($search_exp, 1000, 1, '@brief');

Для последовательного поиска нужно добавить еще параметры

$ret = $irbis->records_search($search_exp, 1000, 1, '@brief','','',"!if (v11:'М') then '1' else '0' fi");

v11:'Иван' - Если поле 11 содержит фрагмент "Иван"

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: Dmitrin (IP-адрес скрыт)
Дата: 05, October, 2016 12:13

Если реализовывать поиск по алфавиту по автору, например. Подобный запрос должен быть для буквы И, например?

$irbis->set_db('IBIS');
$search_exp = '"A=И$"';
$ret = $irbis->records_search($search_exp, 1000, 1, '@brief');
if ($irbis->error_code != 0) echo $irbis->error() . PHP_EOL;
print_r($ret);


И вот имеется сокращенный формат brief

$format = '@brief' - оптимизированный сокращенный формат (см. BRIEF.PFT - выводится в список записей в окне каталогизатора)

Есть какие-то другие форматы?

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: Dmitrin (IP-адрес скрыт)
Дата: 05, October, 2016 15:30

И подскажите, есть информация о выдаче книг читателям. Как по шифру можно получить книгу на php? Просто хотя бы название её.

Вложения: Шифры.png (14.4KB)  
Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: zagzag (IP-адрес скрыт)
Дата: 05, October, 2016 16:24

История выданных книг хранится в записи читателя в базе RDR (поле не помню какое, вроде 40 - информация о дате выдачи, дате возврата, бд электронного каталога, название книги и т.п.)

В электронном каталоге у записей об экземплярах в 910 поле хранится отметка о том, находится ли книга на руках в данный момент

По шифру можно найти книгу используя поиск по словарю I=

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: zagzag (IP-адрес скрыт)
Дата: 05, October, 2016 16:27

Цитата:
Есть какие-то другие форматы?
Есть и другие, доступные для выбранной базы находятся в самой папке с базой и в общей папке Deposit, имеют формат файла *.PFT

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: Dmitrin (IP-адрес скрыт)
Дата: 05, October, 2016 21:20

Спасибо большое, с выводом книг читателей вроде разобрался. Вы не могли бы подсказать с алфавитным выводом авторов и книг?

Так пытаюсь по авторам вывести (На букву И)
$irbis->set_db('IBIS');
$search_exp = '"A=И$"';
$ret = $irbis->records_search($search_exp, 1000, 1, '@brief');
if ($irbis->error_code != 0) echo $irbis->error() . PHP_EOL;
print_r($ret);

Но данный запрос $search_exp = '"A=И$"'; выводит всех авторов, у которых имеется буква И в ФИО. Как можно правильно запрос составить?

И насколько я понял, чтобы по книгам искать нужно использовать T?
$search_exp = '"T=И$"';

Re: Как подключиться к базе ИРБИС из PHP?
Пользователь: zagzag (IP-адрес скрыт)
Дата: 06, October, 2016 14:29

T= - префикс словаря для поиска по заглавиям книг

Пользуюсь программой smsniff для анализа протокола ИРБИС.
Видно что отправляет клиентская часть и ответ от сервера.

Цитата:
Но данный запрос $search_exp = '"A=И$"'; выводит всех авторов, у которых имеется буква И в ФИО. Как можно правильно запрос составить?
Каталогизатор отправляет точно такой же запрос при поиске по словарю.
Может быть проще фильтровать результат поиска на стороне PHP.

Re: Клиентская библиотека ИРБИС64 на языке PHP
Пользователь: Dmitrin (IP-адрес скрыт)
Дата: 09, May, 2017 11:35

Добрый день. В прошлом году писал сюда, и мне очень помогли советами. На днях возникла следующая проблема, подскажите, как можно её решить.

Имеется поиск на сайте. Обрабатываю результат поиска таким образом (соединяется с ИРБИСом нормально, без ошибок)

$search = clear_data($_GET[search_katalog]);

// По авторам
$search_exp = '("A=' . $search . '$")';
$ret = $irbis->records_search($search_exp, 1000, 1, '@brief');
if ($irbis->error_code != 0) echo $irbis->error() . PHP_EOL;
if($ret[found] > 0) {
echo "<strong>Найдено $ret[found] записи(ей) по авторам</strong>";
foreach ($ret[records] as $key => $value) {
$temp_array = explode("#", $value);
echo "<a href='/elektronnyy-katalog/?id=$temp_array[0]' class='kat_link'>$temp_array[1]</a>";
}
}

Раньше этот код отрабатывал всегда верно. Сейчас появилась такая вот странность. Ввожу я "Пушк". И в $ret приходит такие данные (см рисунок 1). Когда ввожу "Пуш", то приходят уже все нужные данные (id и наименование). Получается, когда больше 3х символов ввожу в поисковой запрос, перестает передаваться наименование книги. В чем может быть проблема?

Вложения: Снимок.PNG (21.5KB)   Снимок2.PNG (69.8KB)  
Re: Клиентская библиотека ИРБИС64 на языке PHP
Пользователь: Gena (IP-адрес скрыт)
Дата: 13, May, 2017 16:23

Старнно. А вы пробовали включить режим отладки и посмотреть ответы сервера в чистом виде?

AVD System, Техническая поддержка, [www.open4u.ru]

Re: Клиентская библиотека ИРБИС64 на языке PHP
Пользователь: library_ngmu (IP-адрес скрыт)
Дата: 25, September, 2017 10:10

Здравствуйте! А как вы реализуете чтение файлов с сервера, в частности интересует чтение файлов формата .pdf

Страницы: <<12
Страница: 2 из 2


Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.