こんにちは、ファイルの書き換えに問題があります。ファイルの最後の行を削除し、配列を一時ファイルに書き直すと、最後のように空白になり、プロジェクト内の他のファイルが台無しになります。
これは連絡先のテキスト ファイルです。
1|Mr.|Blank|Blank|||||||||
2|Mr.|Blank2|Blank2|||||||||
3|Mr.|Blank3|Blank3|||||||||
これは削除のコードです
<?php
$select = 3;
$tempFilename = 'contacts_temp';
touch($tempFilename);
$file_name = "contacts";
$file = fopen($file_name, "r+")or exit("Unable to open file!");
$tempfile = fopen($tempFilename, "r+")or exit("Unable to open file!");
for($c=0;!feof($file);$c++)
{
$top = fgets($file);
$contactsArray[$c] = $top;
}
for ($d=0; $d!=count($contactsArray);$d++){
//echo $usersArray[$d];
$tempusersArray[$d] = explode('|', $contactsArray[$d]);
}
rewind($tempfile);
for ($c=0;$c<count($contactsArray);$c++){
if($tempusersArray[$c][0]==$select){
unset($contactsArray[$c]);
}elseif($contactsArray[$c]==NULL){
unset($contactsArray[$c]);
break;
}else{
trim($contactsArray[$c]);
}
}
var_dump($contactsArray);
file_put_contents($tempFilename,$contactsArray);
?>
これを実行すると、次のようなファイルが返されます
1|Mr.|Blank|Blank|||||||||
2|Mr.|Blank2|Blank2|||||||||
//There would be a blank line here
よろしくお願いします!