Heim > Backend-Entwicklung > PHP-Tutorial > php文件锁定写入实例教程

php文件锁定写入实例教程

WBOY
Freigeben: 2016-07-25 09:11:58
Original
916 Leute haben es durchsucht

php文件锁定写入

php文件写入方法,应对多线程写入:

  1. function file_write($file_name, $text, $mode='a', $timeout=30){
  2. $handle = fopen($file_name, $mode);
  3. while($timeout>0){
  4. if ( flock($handle, lock_ex) ) {
  5. $timeout--;
  6. sleep(1);
  7. }
  8. } // bbs.it-home.org
  9. if ( $timeout > 0 ){
  10. fwrite($handle, $text.'\n');
  11. flock($handle, lock_un);
  12. fclose($handle);
  13. return true;
  14. }
  15. return false;
  16. }
复制代码

其中flock(int $handle, int $operation)函数操作的 handle 必须是一个已经打开的文件指针。

operation 可以是以下值之一: 要取得共享锁定(读取的程序),将 operation 设为 lock_sh(php 4.0.1 以前的版本设置为 1)。 要取得独占锁定(写入的程序),将 operation 设为 lock_ex(php 4.0.1 以前的版本中设置为 2)。 要释放锁定(无论共享或独占),将 operation 设为 lock_un(php 4.0.1 以前的版本中设置为 3)。 如果不希望 flock() 在锁定时堵塞,则给 operation 加上 lock_nb(php 4.0.1 以前的版本中设置为 4)。



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage