当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP SplFileObject flock()用法及代码示例


SplFileObject flock()函数是PHP中的标准PHP库(SPL)的内置函数,用于将可移植锁应用于文件。

用法:

bool SplFileObject::flock( $opr, $isBlock )

参数:该函数接受上述和以下所述的两个参数:
$opr:它用于从以下列表中指定要应用的操作:


  • LOCK_SH:获取共享锁(读取器)。
  • LOCK_EX:获取排他锁(写入器)。
  • LOCK_UN:释放锁。
  • LOCK_NB:锁定时不阻塞。

$isBlock:如果锁为块锁,则此参数设置为True。

返回值:如果成功,则此函数返回True;如果失败,则返回False。

注意:确保以下程序中使用的文件名为gfg.txt,并且应具有读写权限。

以下示例程序旨在说明PHP中的SplFileObject::flock()函数:

程序1:

<?php 
  
// Create Spl Object 
$file = new SplFileObject("gfg.txt", "w"); 
  
// Add an Exclusive lock to gfg.txt 
if ($file->flock(LOCK_SH)) {  
    $file->ftruncate(0); 
    $file->fwrite("Write GFG inside the gfg.txt"); 
      
    // Release the lock   
    $file->flock(LOCK_UN); 
    echo "Success Lock and Unlock Operation"; 
}  
else { 
    echo "No Lock Available"; 
} 
?>

输出:

Success Lock and Unlock Operation.

程序2:

<?php 
  
// Create SplFile Object 
$file = new SplFileObject("gfg.txt", "w"); 
  
// Add an Exclusive lock to gfg.txt 
if ($file->flock(LOCK_EX)) {  
    $file->ftruncate(0); 
    $file->fwrite("Write GFG inside the gfg.txt"); 
      
    // Release the lock   
    $file->flock(LOCK_UN); 
    echo "Success Exclusive Lock and Unlock Operation"; 
} else { 
    echo "No Lock Available"; 
} 
?>

输出:

Success Exclusive Lock and Unlock Operation

参考: http://php.net/manual/en/splfileobject.flock.php



相关用法


注:本文由纯净天空筛选整理自R_Raj大神的英文原创作品 PHP | SplFileObject flock() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。