YAZ yaz_scan

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan — 스캔 준비


설명

yaz_scan(
    resource $id,
    string $type,
    string $startterm,
    array $flags = ?
): void
                

이 함수는 지정된 연결에서 Z39.50 스캔 요청을 준비합니다.

실제로 스캔 요청을 서버로 전송하고 스캔 응답을 수신하려면 yaz_wait()를 호출해야 합니다. yaz_wait()가 완료되면 yaz_error()yaz_scan_result()를 호출하여 응답을 처리합니다.


매개변수

id
yaz_connect()에서 반환된 연결 리소스입니다.
type
현재 rpn 유형만 지원됩니다.
startterm
스캔의 시작 기간 지점입니다.

시작 용어가 지정되는 형식은 매개변수 type에 따라 지정됩니다.

이 매개변수의 구문은 yaz_search()에 설명된 RPN 쿼리와 유사합니다. 0개 이상의 @attr-operator 사양과 정확히 하나의 토큰으로 구성됩니다.

flags
이 선택적 매개변수는 스캔 요청의 동작을 제어하기 위한 추가 정보를 지정합니다. 현재 플래그 배열에서 세 개의 인덱스를 읽습니다. number(요청된 용어의 수), position(선호하는 용어의 위치) 및 stepSize(선호하는 단계 크기).

반환 값

값이 반환되지 않습니다.


Examples

예제 #1 제목을 스캔하는 PHP 함수

                  
<?php
function scan_titles($id, $startterm)
{
  yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
  yaz_wait();
  $errno = yaz_errno($id);
  if ($errno == 0) {
    $ar = yaz_scan_result($id, $options);
    echo 'Scan ok; ';
    foreach ($options as $key => $val) {
      echo "$key = $val &nbsp;";
    }
    echo '<br /><table>';
    while (list($key, list($k, $term, $tcount)) = each($ar)) {
      if (empty($k)) continue;
      echo "<tr><td>$term</td><td>$tcount</td></tr>";
    }
    echo '</table>';
  } else {
    echo "Scan failed. Error: " . yaz_error($id) . "<br />";
  }
}
?>