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 ";
}
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 />";
}
}
?>