Rechercher une fonction PHP

dio_fcntl

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_fcntlExécute une fonction fichier de langage C

Description

dio_fcntl ( resource $fd , int $cmd [, mixed $args ] ) : mixed

dio_fcntl() exécute l'opération cmd sur le fichier représenté par la ressource fd. Certaines commandes demandent des arguments supplémentaires qui sont fournis dans l'argument args.

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

fd

La ressource de fichier retournée par dio_open().

cmd

Peut être une de ces opérations suivantes :

  • F_SETLK : le verrou est posé ou levé. Si le verrou appartient à un autre utilisateur, dio_fcntl() retourne -1.

  • F_SETLKW : identique à F_SETLK, mais si le verrou appartient à quelqu'un d'autre, dio_fcntl() attend la levée du verrou.

  • F_GETLK : dio_fcntl() retourne un tableau associatif (comme décrit ci-dessous) si un autre utilisateur empêche la poste d'un verrou. S'il n'y a aucun empêchement, l'entrée "type" prendra la valeur F_UNLCK.

  • F_DUPFD : trouve les numéros de ressource de fichier les plus petits, disponibles, inférieurs ou égales à args et les retourne.

  • F_SETFL : configure les descripteurs de fichier à la valeur spécifiée par args, qui peut être O_APPEND, O_NONBLOCK ou O_ASYNC. Pour utiliser O_ASYNC vous aurez besoin de l'extension PCNTL.

args

args est un tableau associatif lorsque cmd vaut F_SETLK ou F_SETLLW, avec les entrées suivantes :

  • start : offset de début de verrou

  • length : taille de la surface verrouillée. Zéro indique la fin du fichier

  • whence : l_start est relatif à : peut être SEEK_SET, SEEK_END et SEEK_CUR

  • type : type de verrou. peut être F_RDLCK (verrou en lecture), F_WRLCK (verrou en écriture) ou F_UNLCK (déverrouillage)

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Retourne le résultat d'un appel en C.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Positionnement et suppression d'un verrou

<?php

$fd 
dio_open('/dev/ttyS0'O_RDWR);

if (
dio_fcntl($fdF_SETLK, Array("type"=>F_WRLCK)) == -1) {
   
// le descripteur de fichier semble verrouillé
   
echo "Le verrou n'a pu être effacé. Il a été posé par quelqu'un d'autre.";
} else {
   echo 
"Le verrou a été défini/verrouillé avec succès";
}

dio_close($fd);
?>

Retour à la première page de Manuel PHP  Table des matières Haut

Notes

Note: Cette fonction n'est pas implémentée sur les plates-formes Windows.

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.dio-fcntl.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut