如果使用PHP包含某个字符串,如何从文件中删除一行?

时间:2013-04-16 06:58:20

标签: php file csv

我的个人资料页面中有一个删除链接,链接到"delete.php?snum=" . $snum。我在delete.php中有一个$snum=$_GET['snum'];。我有一个名为"SLBrecords.csv"的文件,看起来像

12345 Barney
67890 Stinson

我想创建一个脚本来搜索文件中的$snum并删除包含它的行。我觉得这很容易,但我现在一直在搞乱内容,strpos和其他功能,但我仍然无法使它工作。

编辑:这是我的代码。

<?php

$snum=$_GET['snum'];

$filePath = './SLBrecords.csv';

$fileArr = file( $filePath );

foreach($fileArr as $line)
    if (strpos($line,$snum) !== false) {
        unset($line);
    }
$success = FALSE;
if ( file_put_contents( $filePath, implode( '', $fileArr ), LOCK_EX ) )
{
    $success = TRUE;
}

?>

编辑:如何删除该行并删除其附带的换行符?

1 个答案:

答案 0 :(得分:1)

unset($line)错了。尝试

foreach($fileArr as $k=>$line) {
    if (strpos($line,$snum) !== false) {
        unset($fileArr[$k]);
    }
}