dqfr90979
2014-11-20 11:28
浏览 30
已采纳

在文本中删除条目的Flock没有工作我

I create one function for delete entry in little file in txt format , the problem it´s when i go delete entry show me this message :

Warning: flock() expects parameter 1 to be resource, boolean given in

The Script Function :

<?php
function delete_entry($name_file_db,$id_entry)
{
$fil_del=file("".$name_file_db."");
$fd=fopen("".$name_file_db."","w");

if (flock($fd,LOCK_EX)) 
{
ftruncate($fd,0); 
fputs($fd,"".$fil_del[0]."");
for($de=1;$de<sizeof($fil_del);$de++)
{   
if($de=="".$id_entry."")
{
fputs($fd,"");  
}
else
{
fputs($fd,"".$fil_del[$de].""); 
}   
}
fflush($fd); 
flock($fd, LOCK_UN);
fclose($fd);
}
else
{
if($db_activate_msg_bugs=="si")
{
print "Busy File";
}
}

}
?>

I don´t know why no works , i try differents combinations but continue fail

Thank´s Regards

图片转代码服务由CSDN问答提供 功能建议

我在txt格式的小文件中创建一个删除条目的函数,问题就在我去删除条目的时候 告诉我这条消息:

警告:flock()要求参数1为资源,布尔值在

< strong>脚本函数:

 &lt;?php 
function delete_entry($ name_file_db,$ id_entry)
 {
 $ fil_del = file(“”  。$ name_file_db。“”); 
 $ fd = fopen(“”。$ name_file_db。“”,“w”); 
 
if(flock($ fd,LOCK_EX))
 {
ftruncate($ fd)  ,0);  
fputs($ fd,“”。$ fil_del [0]。“”); 
for($ de = 1; $ de&lt; sizeof($ fil_del); $ de ++)
 {
if($ de ==“  ” $ id_entry。 “”)
 {
fputs($ FD “”);  \ N} 
else \ N {
fputs($ FD “” $ fil_del [$ DE]。 “”);  
} 
} 
fflush($ fd);  
 nlock($ fd,LOCK_UN); 
 nclclose($ fd); 
} 
else 
 {
if($ db_activate_msg_bugs ==“si”)
 {
print“Busy File”; 
} 
  } 
 
} 
?&gt; 
   
 
 

我不知道为什么没有用,我尝试不同的组合但是继续失败

感谢问候

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongyan3018 2014-11-20 12:44
    已采纳

    $fd=fopen("".$name_file_db."","w") probably didn't open a file. fopen() returns false if it fails:

    Returns a file pointer resource on success, or FALSE on error.


    BTW ftruncate() is needless, fopen() in mode w implicitly truncates the file. This does also break your code. The blocked process is truncating your file! Consider using a dedicated lock file or open the file nondeconstructive (e.g. mode c).

    点赞 打赏 评论

相关推荐 更多相似问题