(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_scan — Bir tarama düzenler
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.
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ür
bağımsız değişkeniyle belirtilir.
Bu bağımsız değişkenin 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 bağımsız değişken 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).
Hiçbir değer dönmez.
Ö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 />";
}
}
?>