Maison  >  Article  >  développement back-end  >  Exemples d'utilisation de flock pour écrire des fichiers bloquants et non bloquants en PHP

Exemples d'utilisation de flock pour écrire des fichiers bloquants et non bloquants en PHP

巴扎黑
巴扎黑original
2017-07-20 17:48:031784parcourir

Explication sur la façon dont PHP utilise flock pour bloquer et non bloquer l'écriture de fichiers :

Bloquer l'écriture de code : (tous les programmes attendront une dernière fois Le le programme ne sera pas exécuté tant qu'il n'est pas terminé et expirera dans 30 secondes)

<?php$file = fopen("test.txt","w+");  
$t1 = microtime(TRUE);if (flock($file,LOCK_EX))
{ sleep(10); fwrite($file,"Write something"); flock($file,LOCK_UN); echo "Ok locking file!";
}else{ echo "Error locking file!";
}  
fclose($file);  
$t2 = microtime(TRUE);echo sprintf("%.6f",($t2-$t1));

Code School php

Non bloquant écriture du code : (Tant que le fichier est occupé, Erreur de verrouillage du fichier ! s'affiche) :

<?php$file = fopen("test.txt","a+");  
$t1 = microtime(TRUE);if (flock($file,LOCK_EX|LOCK_NB))
{ sleep(10); fwrite($file,"Write something"); flock($file,LOCK_UN); echo "Ok locking file!";
}else{ echo "Error locking file!";
}  
fclose($file);  
$t2 = microtime(TRUE);echo sprintf("%.6f",($t2-$t1));

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!

Déclaration:
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
Article précédent:利用表格布局页面Article suivant:php获取&#39;/&#39;传参的值