Maison > développement back-end > tutoriel php > Analyse de la fonction flock() en PHP (avec exemples de code)

Analyse de la fonction flock() en PHP (avec exemples de code)

autoload
Libérer: 2023-04-09 22:24:01
original
2824 Les gens l'ont consulté

Analyse de la fonction flock() en PHP (avec exemples de code)

Lors de l'utilisation de PHP, nous avons souvent besoin de lire des fichiers, mais afin d'empêcher d'autres processus de lire et de modifier des fichiers et d'éviter les conflits, nous devons lire les fichiers avant de verrouiller le fichier. lors de la récupération, puis modifiez le fichier jusqu'à ce que l'opération soit terminée. Dans ce processus, la fonction flock() est utilisée. Cet article vous amènera à comprendre ce qui suit. Pour la première fois, regardons la syntaxe de la fonction block() :

flock( resource $handle, int $operation, int $wouldblock = ?)
Copier après la connexion
  • $handle : pointeur du système de fichiers, généralement créé par fopen() resource (ressource ).

  • $opération : LOCK_SHObtenir le verrou partagé (programme de lecture). LOCK_EX Obtient un verrou exclusif (programme d'écriture). LOCK_UN Libère le verrou (qu'il soit partagé ou exclusif flock() si vous ne voulez pas que LOCK_NB bloque pendant le verrouillage (pas encore pris en charge sous Windows). 🎜> >

  • $wouldblock : Si le verrou bloque (en cas de code d'erreur EWOULDBLOCK), le troisième paramètre facultatif sera défini sur

    (non pris en charge sous Windows) true.

  • Valeur de retour :

    en cas de succès, ou true en cas d'échec false

Exemple de code :

. 1. Utilisez LOCK_EX

<?php
$fp = fopen("exit.txt", "r+");
if (flock($fp, LOCK_EX)) {  // 进行排它型锁定
    ftruncate($fp, 0);      // truncate file
    fwrite($fp, "Write something here");
    fflush($fp);            // flush output before releasing the lock
    flock($fp, LOCK_UN);    // 释放锁定
} else {
    echo "Couldn&#39;t get the lock!";
}
fclose($fp);
?>
Copier après la connexion
rrree

2. Utilisez LOCK_NB

exit.text内容:Write something here
Copier après la connexion

Recommandé : Résumé des questions d'entretien PHP 2021 (collection)》《Tutoriel vidéo php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal