Manuel PHP
Précédent |  | Suivant

# expect_expectl

(no version information, might be only in CVS)

expect_expectl -- Attend jusqu'à ce que la sortie d'un processus corresponde à un des motifs, un période de temps spécifique est passée ou un EOF est vu

## Description

mixed expect_expectl ( resource expect, array cases )

Attend jusqu'à ce que la sortie d'un processus corresponde à un des motifs, un période de temps spécifique est passée ou un EOF est vu.

## Liste de paramètres

expect

  Un flux de données Expect, ouvert précédemment avec expect_popen().

cases

  Un tableau des cas expect. Chaque cas expect est un tableau indexé, comme décrit dans la table suivante :

  Tableau 1. Expect Case Array

  Clé Index | Type Valeur | Description | Est Obligatoire | Valeur par Défaut
  --- | --- | --- | --- | ---
  0 | string | motif, qui sera vérifié avec la sortie du flux | oui |
  1 | mixed | valeur, qui sera retournée par cette fonction, si le motif concorde | oui |
  2 | integer | type de motif, un de : `EXP_GLOB`, `EXP_EXACT` ou `EXP_REGEXP` | non | `EXP_GLOB`

## Valeurs de retour

Retourne une valeur associée avec le motif qui correspond.

En cas d'échec, cette fonction retourne : `EXP_EOF`, `EXP_TIMEOUT` ou `EXP_FULLBUFFER`

## Exemples

Exemple 1. Exemple avec expect_expectl()

`<?php
// Copie le fichier à partir de l'hôte distant :
ini_set ("expect.timeout", 30);
$stream = popen ("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");
$cases = array (
array (0 => "password:", 1 => PASSWORD),
array (0 => "yes/no)?", 1 => YESNO)
);
while (true) {
switch (expect_expectl ($stream, $cases))
{
case PASSWORD:
fwrite ($stream, "password\n");
break;
case YESNO:
fwrite ($stream, "yes\n");
break;
case EXP_TIMEOUT:
case EXP_EOF:
break 2;
default:
die ("Une erreur s'est produite !\n");
}
}
fclose ($stream);
?>`

## Voir aussi

expect_popen()

Précédent | Sommaire | Suivant
Fonctions Expect | Niveau supérieur | expect_popen