(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_scan — 準備掃描
此函式在指定的連線上準備 Z39.50 掃描請求。
要實際將掃描請求傳輸到伺服器並接收掃描響應,必須呼叫 yaz_wait() 函式。在 yaz_wait() 呼叫完成後,使用 yaz_error() 和 yaz_scan_result() 處理響應。
id
由 yaz_connect() 返回的連線資源。
type
目前僅支援 rpn
類型。
startterm
掃描的起始詞彙。
起始詞彙的指定格式由參數 type
決定。
此參數的語法類似於 yaz_search() 中描述的 RPN 查詢。它由零個或多個 @attr
-運算子規範組成,後接恰好一個詞彙。
flags
此可選參數指定額外資訊來控制掃描請求的行為。目前會從 flags 陣列讀取三個索引:number
(請求的詞彙數量)、position
(詞彙的偏好位置)和 stepSize
(偏好的步長)。
不傳回任何值。
範例 #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 '掃描成功; ';
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 "掃描失敗。錯誤: " . yaz_error($id) . "<br />";
}
}
?>