當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。