天天看点

在指定行向文件写入、删除、修改字符串

在指定行向文件写入、删除、修改字符串

<?php  

/* 

 * $filepath文件的路径, 

 * $string要写入的字符串, 

 * $line要插入、更新、删除的行数, 

 * $mode指定是插入(w)、更新(u)、删除(d) 

*/  

function fileline($filepath, $string, $line, $mode = 'w') {  

    if (is_file ( $filepath )) {  

        $filearr = file ( $filepath ); //把文件存进数组  

    } else {  

        return '文件不存在';  

    }  

    $size = count ( $filearr ); //数组的长度  

    if ($line > $size) { //如果插入的行数大于文件现有的行数,直接用系统自带的就行  

        return;  

    for($i = 0; $i < $size; $i ++) {  

        if ($i == $line - 1) {  

            switch (strtolower ( $mode )) { //判断是写入,还是删除或者是更新  

                case 'w' :  

                    $newfilestr .= $string . "\r\n";  

                    $newfilestr .= $filearr [$i];  

                case 'u' :  

                case 'd' :  

                    continue;  

            }  

        } else {  

            $newfilestr .= $filearr [$i];  

        }  

    file_put_contents ( $filepath, $newfilestr );  

    return true;  

}  

//调用实例 

fileline('w.txt','wwwww',1,'d'); 

?>