(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_scan — Prepara para un escaneo YAZ
$id
, string $type
, string $startterm
[, array $flags
] ) : voidEsta función prepara para una solicitud "Z39.50 Scan Request" en la conexión YAZ especificada.
Para transferir realmente la "Scan Request" del servidor y recibir la "Scan Response", debe llamarse yaz_wait(). Después de la finalización de la llamada a yaz_wait(), llamar a yaz_error() y yaz_scan_result() para gestionar la respuesta.
idEl recurso de conexión devuelto por yaz_connect().
typeActualmente sólo está soportado el tipo rpn .
starttermPunto de partida del escaneo.
La forma en la que el punto de partida es especificado, viene dado por el parámetro
type.
La sintaxis de este parámetro es parecido al de la consulta RPN tal y como se describe en yaz_search(). Consiste en cero o más especificaciones del operador @attr, seguido de exactamente un token.
flagsEste parámetro opcional describe información adicional para controlar el comportamiento de la solicitud de escaneo. Tres índices se leen actualmente del array de marcas: number (número de términos solicitados), position (posición preferida del término) y stepSize (tamaño preferido del paso).
No devuelve ningún valor.
Ejemplo #1 función PHP que escanea títulos
<?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; ';
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 "Error de escaneo. Error: " . yaz_error($id) . "<br />";
}
}
?>