Maison >développement back-end >tutoriel php >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 = ?)
$handle : pointeur du système de fichiers, généralement créé par fopen()
resource
(ressource ).
$opération : LOCK_SH
Obtenir 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). 🎜> >
(non pris en charge sous Windows) true
.
en cas de succès, ou true
en cas d'échec false
. 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't get the lock!"; } fclose($fp); ?>rrree
2. Utilisez LOCK_NB
exit.text内容:Write something here
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!