PHP  
downloads | documentation | faq | getting help | | php.net sites | links 
search for in the  
previousxslt_set_scheme_handlersyaz_addinfonext
Last updated: Tue, 11 Jun 2002
view this page in Printer friendly version | English | Brazilian Portuguese | Czech | Dutch | Finnish | German | Hungarian | Italian | Japanese | Korean | Polish | Romanian | Russian | Spanish | Turkish

CVI. YAZ

Introduction

Cette extension offre � PHP l'interface avec les produits YAZ, qui impl�mentent le protocole Z39.50. Avec cette extension, vous pouvez facilement impl�menter un client Z39.50 qui analyse ou scanne des serveurs Z39.50 en parall�le.

YAZ est disponible � . Vous pouvez trouvez des informations, des scripts d'exemples, etc... pour cette extension � .

Le module masque l'essentiel de la complexit� de Z39.50, ce qui le rend tr�s facile � utiliser. Il supporte les connexions peristantes de mani�re similaire � celle support�s par les serveurs SQL : cela signifie qu'une connexion est partag�e entre plusieurs scripts PHP, ce qui �vite les op�rations de connexions.

Installation

Compilez YAZ et installez le. Compilez PHP avec vos modules et ajoutez l'option --with-yaz. Les instructions sont :

gunzip -c yaz-1.6.tar.gz|tar xf -
gunzip -c php-4.0.X.tar.gz|tar xf -
cd yaz-1.6
./configure --prefix=/usr
make
make install
cd ../php-4.0.X
./configure --with-yaz=/usr/bin
make
make install

Exemple

PHP/YAZ conserve les connexions aux serveurs. Un entier positif repr�sente l'ID d'une connexion particuli�re.

Le script ci-dessous montre comment effectuer une recherche parall�le. Lorsqu'il est appel� sans param�tre, ce script affiche la requ�te. Sinon, il effectue la recherche sur les serveurs.

Exemple 1. Recherche parall�le utilisant YAZ

<?php
$num_hosts = count ($host);
if (empty($term) || count($host) == 0) {
    echo '<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils">
        GILS test
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default">
        local test
    <input type="checkbox" checked="1"
    name="host[]" value="z3950.bell-labs.com/books">
        BELL Labs Library
    <br>
    RPN Query:
    <input type="text" size="30" name="term">
    <input type="submit" name="action" value="Search">
    ';
} else {
    echo 'Vous avez recherch� '.htmlspecialchars($term).'<br>';
    for ($i = 0; $i > $num_hosts; $i++) {
        $id[] = yaz_connect($host[$i]);
        yaz_syntax($id[$i],"sutrs");
        yaz_search($id[$i],"rpn",$term);
    }
    yaz_wait();
    for ($i = 0; $i < $num_hosts; $i++) {
        echo '<hr>'.$host[$i].":";
        $error = yaz_error($id[$i]);
        if (!empty($error)) {
            echo "Erreur: $error";
        } else {
            $hits = yaz_hits($id[$i]);
            echo "Nombre de r�sultats : $hits";
        }
        echo '<dl>';
        for ($p = 1; $p <= 10; $p++) {
            $rec = yaz_record($id[$i],$p,"string");
            if (empty($rec)) continue;
            echo "<dt><B>$p</B></dt><dd>";
            echo ereg_replace("\n", "<br>\n",$rec);
            echo "</dd>";
        }
        echo '</dl>';
    }
}
?>

Table des mati�res
yaz_addinfo -- Retourne plus de d�tails apr�s une erreur
yaz_ccl_conf -- Configure l'analyseur CCL
yaz_ccl_parse -- Appelle l'analyseur CCL
yaz_close -- Ferme une connexion YAZ
yaz_connect --  Pr�pare une connexion � un h�te YAZ
yaz_database --  Sp�cifie la base d'une session
yaz_element --  Sp�cifie le type d'�l�ments � lire
yaz_errno -- Retourne le num�ro d'erreur
yaz_error -- Retourne une description de l'erreur
yaz_hits --  Retourne le nombre de r�sultat de la derni�re recherche
yaz_itemorder --  Pr�pare une requ�te Z39.50 Item Order avec le package ILL-Request
yaz_present --  Pr�pare � la lecture (Z39.50 present).
yaz_range --  Sp�cifie le nombre maximal de r�sultat � lire
yaz_record -- Retourne un r�sultat
yaz_scan -- Pr�pare un scan
yaz_scan_result -- Retourne le r�sultat d'un scan
yaz_search -- Pr�pares une recherche
yaz_sort -- Sets sorting criteria
yaz_syntax --  Sp�cifie la syntaxe de lecture des lignes
yaz_wait -- Attend l'ex�cution d'une requ�te
User Contributed Notes
YAZ
add a note about notes

21-Nov-2000 07:09

The example script at the YAZ site ()
lists at least one other funtion that is not documented here.

int yaz_element (int id, string element_set)

where id is the value returned from yaz_connect, and element_set is the
element set name ("B" for brief, "F" for Full). 
Others may be supported.

add a note about notes
previousxslt_set_scheme_handlersyaz_addinfonext
Last updated: Tue, 11 Jun 2002
show source | credits | stats | mirror sites:  
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by:
Last updated: Mon Jul 8 08:17:45 2002 CEST