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

<?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' :
					$newFileStr .= $string . "\r\n";
				case 'd' :
					continue;
			}
		} else {
			$newFileStr .= $fileArr [$i];
		}
	}
	file_put_contents ( $filePath, $newFileStr );
	return true;
}
/*
//调用实例
fileLine('w.txt','wwwww',1,'d');
*/
?>

你可能感兴趣的:(PHP)