Manuel PHP
Précédent |  | Suivant

# yaz_scan

(PHP 4 >= 4.0.5, PHP 5)

yaz_scan -- Prépare un scan

## Description

int yaz_scan ( resource id, string type, string startterm [, array flags])

yaz_scan() prépare une requête "Z39.50 Scan Request". `id` spécifie l'hôte cible. Le point de départ est donné avec `startterm`. La forme de spécification du point de départ est donné par `type`. Actuellement, le type `rpn` est supporté. Le paramètre optionnel `flags` donne des informations supplémentaires pour contrôler le comportement de la requête de scan. Actuellement, trois index sont lus dans ce paramètre : `number` (nombre de termes requis), `position` (position préférée du terme) et `stepSize` (taille du pas préférée). Pour réellement envoyer la requête de recherche à l'hôte, et recevoir la réponse, yaz_wait() doit être appelée. A la fin de yaz_wait(), yaz_error() et yaz_scan_result() auront les résultats.

La syntaxe de `startterm` est similaire aux requêtes RPN, décrites dans yaz_search(). `startterm` est constitué de zéro ou plus spécifications, avec les opérateurs `@attr`, suivi par exactement un token.

Exemple 1. Fonction `PHP` qui scanne les titres sur un serveur YAZ

`<?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; ';
while (list($key, $val) = each($options)) {
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 "Erreur de Scan. Erreur: " . yaz_error($id) . "<br />";
}
}
?>`

Précédent | Sommaire | Suivant
yaz_scan_result | Niveau supérieur | yaz_schema