PHP Conference Japan 2024

yaz_scan

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

yaz_scan準備掃描

說明

yaz_scan(
    資源 $id,
    字串 $type,
    字串 $startterm,
    陣列 $flags = ?
):

此函式在指定的連線上準備 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 &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
"掃描失敗。錯誤: " . yaz_error($id) . "<br />";
}
}
?>

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top