$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
My Code如上,為什麼第一次寫入時總會空出一行,不管是空白文本還是已經有資料的。而且有時候寫入空白文本時,不能成功,求大神們幫我最佳化下
回複討論(解決方案)
經測試,沒有發現你說的現象
儘管你的變數名寫錯了
經測試,沒有發現你說的現象
儘管你的變數名寫錯了
暈啊,我試了下好像也是對的,那肯定是我驗證名字是否已存在這部分錯了。。。
斑竹能幫我看下嗎
$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);}
}
直接用file_put_contents()多簡便呀!