310 of 410 menu

Fonction flock

La fonction flock pose ou retire un verrou sur un fichier. Son premier paramètre est un pointeur de fichier, obtenu via fopen, son deuxième paramètre est le type de verrou (LOCK_SH, LOCK_EX ou LOCK_UN), et son troisième paramètre optionnel est un drapeau pour une opération non bloquante.

Syntaxe

flock(resource $handle, int $operation, int &$would_block = null): bool

Exemple

Verrouillage de fichier pour un accès exclusif (écriture) :

<?php $file = fopen("data.txt", "c+"); if (flock($file, LOCK_EX)) { ftruncate($file, 0); fwrite($file, "New data"); flock($file, LOCK_UN); } fclose($file); ?>

Exemple

Verrou partagé pour la lecture :

<?php $file = fopen("data.txt", "r"); if (flock($file, LOCK_SH)) { $content = fread($file, filesize("data.txt")); flock($file, LOCK_UN); } fclose($file); echo $content; ?>

Exemple

Tentative de capture de verrou non bloquante :

<?php $file = fopen("data.txt", "c+"); if (flock($file, LOCK_EX | LOCK_NB, $would_block)) { if ($would_block) { echo "File is locked by another process"; } else { fwrite($file, "Data"); flock($file, LOCK_UN); } } fclose($file); ?>

Voir aussi

  • la fonction fopen,
    qui ouvre un fichier
  • la fonction fclose,
    qui ferme un fichier
  • la fonction is_writable,
    qui vérifie la possibilité d'écriture
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser