csvの内容を行単位で削除したい
getでidを渡し(id.php)、受け取った別のphp(sakujyo.php)ファイルで
そのidが含まれているリンクをクリック後
削除したいのですが
削除の方法がどのサイトをみても
私の理解力不足+知識不足で理解ができませんでした。
ロジックは一旦すべてのファイルを読み込んで
特定の行を削除後、再度上書きという流れは
わかったのですが、それをプログラムに書き直すと
どうしてもその通りできませんでした。
==csvの内容==
[id1],[ふりがな1],[なまえ1],[tel1]
[id2],[ふりがな2],[なまえ2],[tel2]
[id3],[ふりがな3],[なまえ3],[tel3]
<id.phpのソース>
<?PHP
$fp = fopen("data.csv", "r");
while ($data = fgetcsv($fp, 10000)) {
list($id, $furigana, $name, $tel) = $data;
echo "<a href=\"sakujyo.php?$id\">$id</a><p>";
}
?>
<sakujyo.phpのソース>
<?PHP
$id_url = $_GET['id'];
$fp = fopen("data.csv", "r");
while ($data = fgetcsv($fp, 10000)) {
list($id, $furigana, $name, $tel) = $data;
//ここから下がどうすればいいの悩んでいます。
if($id_url = $id){
$id = "";
$furigana = "";
$name = "";
$tel = "";
}
$fp = fopen("data.csv","a");
fwrite($fp, "$id, $furigana, $name, $tel\n");
}
?>
sakujyo.phpの
if($id_url = $id){
から下は変数を空にしているだけで
結果は行の削除ではなく,,,,を書き込んでいると思うのですが
それ以外に方法が思いつきませんでした。
このCSVファイルの行単位の削除方法をご存知の方がいらっしゃいましたら大変恐縮ですがご指導を頂戴できませんでしょうか?
宜しくお願いいたします。
お礼
ありがとうございました。「正規表現」にチェックを入れるのを忘れていました。