
<?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');
?>