yaz_scan
(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_scan — Bir tarama düzenler
Açıklama
$id
, string $tür
, string $başlangıç
[, array $seçenekler
] )Bu işlev belirtilen bağlantı üzerinde bir Z39.50 tarama isteği (Scan Request) düzenler.
Tarama isteğini sunucuya gerçekten aktarmak ve tarama yanıtını almak için yaz_wait() çağrısı yapılmalıdır. yaz_wait() çağrısının tamamlanmasının ardından yanıtı işlemek için yaz_error() ve yaz_scan_result()çağrılır.
Değiştirgeler
-
id -
yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.
-
tür -
Şimdilik sadece rpn türü desteklenmektedir.
-
startterm -
Taramanın başlatılacağı terim.
Başlangıç teriminin biçimi
türdeğiştirgesiyle belirtilir.Bu değiştirgenin sözdizimi yaz_search() işlevindeki RPN sorgusuna benzer. Sıfır veya daha fazla sayıda, tek terimli @attr ifadelerinden oluşur.
-
seçenekler -
Belirtilmesi isteğe bağlı olan bu değiştirge ile tarama isteğinin davranışını belirleyen ek bilgiler belirtilir. Şimdilik seçenekler dizisinden üç anahtar okunmaktadır: number (istenen terim sayısı), position (terimin tercihli konumu) ve stepSize (tercih edilen adım boyu).
Dönen Değerler
Hiçbir değer dönmez.
Örnekler
Örnek 1 - Başlıkları tarayan PHP işlevi
<?php
function scan_titles($id, $başlangıç)
{
yaz_scan($id, "rpn", "@attr 1=4 " . $başlangıç);
yaz_wait();
$errno = yaz_errno($id);
if ($errno == 0) {
$ar = yaz_scan_result($id, $seçenekler);
echo 'Tarama bitti; ';
foreach ($seçenekler as $anahtar => $değer) {
echo "$anahtar = $değer ";
}
echo '<br /><table>';
while (list($anahtar, list($k, $terim, $tsayısı)) = each($ar)) {
if (empty($k)) continue;
echo "<tr><td>$terim</td><td>$tsayısı</td></tr>";
}
echo '</table>';
} else {
echo "Tarama başarısız oldu. Hata: " . yaz_error($id) . "<br />";
}
}
?>
