我想知道下面的代码是否正确编写。我正在尝试编写一个安全的关键部分,该部分写入文件并尝试预测可能出现的任何问题。
有什么我应该注意的吗?我的意思是,我写了 try-catch 语句以防羊群中出现问题,因此它设法关闭文件并释放锁。还有什么需要注意的吗?
/*
* Write to file
*/
if ( file_exists($sPath) )
{
//CRITICAL PART (start)
$oFile = fopen($sPath, "a");
//If could not open file then just return
if ( $oFile == false ) return;
try{
//Acquire lock
if ( flock($oFile, LOCK_EX) )
{
//Append a new line
fwrite($oFile, "\n"."sometext");
}
}catch(Exception $e){
//Release lock before exiting
fclose($oFile);
return;
}
//Release lock
fclose($oFile);
//CRITICAL PART (end)
}