$filename='users.txt';
$name = trim($_POST["name"]);
$passwd = trim($_POST["pass"]);
$str=$username.'|'.$passwd;
$suc=file_write($str,$filename);
function file_write($flag,$tmpfname)
{   
   if($handle = fopen($tmpfname, "a")) 
{      
   fwrite($handle, $flag."\r\n");    
   fclose($handle);     
   return 1;    
 }      
 else return 0;    
 }
把名字和密码记录在txt上,格式是mmm|123456
                          yyy|123456
我的代码如上,为什么第一次写入时总会空出一行,不管是空白文本还是已经有数据的。而且有时候写入空白文本时,不能成功,求大神们帮我优化下phpfunction

解决方案 »

  1.   

    晕啊,我试了下好像也是对的,那肯定是我验证名字是否已存在这部分错了
    斑竹能帮我看下吗
    $Logi = file ( "users.txt" ); 
    $size = sizeof ( $Logi );
    foreach( $Logi as $Key => $Val ) 
    { $Data [ $Key ] = explode ( "|" , $Val );
      

       for( $K = 0 ; $K < $size ; $K ++) 

      $user = $Data [ $K ][ 0 ];
      if($user==$_POST[ "name" ])
    {
       echo "This name already exits.Please get another one.";
       break;
      }
     
     if($K==$size-1)
    {$suc=file_write($str,$filename);}
     }
      

  2.   

    直接用file_put_contents()多简便呀!