Функции Язык программирования PHP

yaz_scan

(PHP 4 >= 4.0.5)

yaz_scan - готовит к сканированию.

Описание

int yaz_scan (int id, string type, string startterm [, array flags])

Эта функция для Z39.50 Scan Request. Аргумент id специфицирует целевой ID. Точка стартового термина задана параметром startterm. Форма, в которой специфицирован starting term, задаётся параметром type. В настоящее время поддерживается type rpn. Необязательный flags специфицирует дополнительную информацию для управления поведением scan-запроса. В настоящее время из flags читаются три индекса: number (количество запрошенных терминов), position (предпочтительная позиция для term) и stepSize (предпочтительный размер шага/step). Для реального трансфера Scan Request в цель и получения Scan Response обязана вызываться функция yaz_wait(). По завершении yaz_wait() вызывайте yaz_error() и yaz_scan_result() для обработки ответа.

Синтаксис startterm аналогичен RPN query, как описано в yaz_search(). Параметр startterm состоит из нуль или более спецификаций @attr-операции, с последующей единственной лексемой/token.

Пример 1. PHP-функция, сканирующая заголовки
function 
scan_titles($id, $starterm) { yaz_scan($id,"rpn", "@attr 1=4 " . $starterm); yaz_wait(); 
$errno = yaz_errno($id); if ($errno == 0) { $ar = yaz_scan_result($id,&$options); 
echo 'Scan ok; '; $ar = yaz_scan_result($id, &$options); while(list($key,$val)=each($options)) 
{ echo "$key = $val &nbsp;"; } echo '<br><table><tr><td>'; 
while(list($key,list($k, $term, $tcount))=each($ar)) { if (empty($k)) continue; 
echo "<tr><td>$term</td><td>"; echo $tcount; echo 
"</td></tr>"; } echo '</table>'; } else { echo "Scan failed. 
Error: " . yaz_error($id) . "<br>"; } }

Назад Оглавление Вперёд
yaz_scan_result Вверх yaz_search

Сообщения об Ошибках

E_WARNING

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

E_ERROR

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

E_PARSE

Ошибки разбора могут генерироваться только разборщиком. Код выводится здесь только для полноты данных.

E_CORE_ERROR

Похоже на E_ERROR, за исключением того, что оно генерируется ядром PHP. Функции не должны генерировать этот тип ошибок.