php查找并删除txt文件一行
发布网友
发布时间:2022-04-06 00:36
我来回答
共3个回答
懂视网
时间:2022-04-06 04:57
php删除文本文件中的任意行的方法:1、指定操作文件与要删除的行数;2、读取文件数据到数组中;3、删除文件中的指定行;4、重新整理文件数据;5、将删除数据后的文件重新写入原文件。
代码实现:
(推荐教程:php视频教程)
<? php
$filename = " aaa.txt " ; // 定义操作文件
$delline = 3 ; // 要删除的行数
$farray = file ( $filename ); // 读取文件数据到数组中
for ( $i = 0 ; $i < count ( $farray ); $i ++ )
{
if ( strcmp ( $i + 1 , $delline ) == 0 ) // 判断删除的行,strcmp是比较两个数大小的函数
{
continue ;
}
if ( trim ( $farray [ $i ]) <> "" ) // 删除文件中的所有空行
{
$newfp .= $farray [ $i ]; // 重新整理后的数据
}
}
$fp = @ fopen ( $filename , " w " ); // 以写的方式打开文件
@ fputs ( $fp , $newfp );
@ fclose ( $fp );
?>
文本文件aaa.txt如下:
10.8.0.1:255.255.255.0
10.8.0.2:255.255.255.0
10.8.0.3:255.255.255.0
10.8.0.4:255.255.255.0
10.8.0.5:255.255.255.0
10.8.0.6:255.255.255.0
10.8.0.8:255.255.255.0
热心网友
时间:2022-04-06 02:05
一共要有三份代码
test1.php 输入的页面
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test delete</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form name = 'fromTxt' action = 'test2.php' method ='post' class="smart-green">
<span>Delete:</span></br></br>
<input type="text" name="ip_del" maxlength="50" style="height:20px;width:200px" onchange ="Value()" >
<input type = 'submit' name = 'submit' class="button" value="Delete" />
</form>
</body>
</html>
test2.php 处理数据的后台
<?php
$DELETE = $_POST['ip_del']; /*之前输入的值的name*/
$data = file("ttt.txt");/*txt文件名*/
$out = array();
foreach($data as $line) {
if(trim($line) != $DELETE) {
$out[] = $line;
}
if(trim($line) == $DELETE){
echo "<script>alert('Existe')</script>";
}
}
If ($data == $out){
echo "<script>alert('Not Existe')</script>";
}
$fp = fopen("ttt.txt", "w+");
flock($fp, LOCK_EX);
foreach($out as $line) {
fwrite($fp, $line);
}
flock($fp, LOCK_UN);
fclose($fp);
echo "<script>location.href='test1.php';</script>";/*返回主页面*/
?>
ttt.txt 存储信息文本文档
热心网友
时间:2022-04-06 03:23
File Get contents函数获取,再用模糊查询