扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
foreach($array as $k=$v){
创新互联公司是一家集网站建设,岳麓企业网站建设,岳麓品牌网站建设,网站定制,岳麓网站建设报价,网络营销,网络优化,岳麓网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
if($v['goodsId'] == '269'){
unset($array[$k]);
}
}
没有索引,那么可以用like语句来匹配需要删除的行:
delete from upload where id like 'QQ截图%' limit 1
在php中也是执行mysql语句,没有用框架的话,一般上需要先写与mysql套接语句,下面是简单的样例:
?php
$localhost ='localhost';//连接服务器,大多情况下用localhost就可以了,
$user ='root';//mysql登录帐号
$upwd ='123456';//mysql服务器的登陆密码
$db = 'upload';//你的mysql数据库
$charset = 'utf8';//数据库字符集
$conn = mysql_connect($localhost,$user,$upwd) or die(mysql_error().'mysql数据连接失败');
mysql_select_db($db,$conn) or die('数据库不存在'.mysql_error());
mysql_query("set names '$charset'");//设置数据库字符集
mysql_query("delete from upload where id like 'QQ截图%' limit 1");//删除指定条件的数据。
这个 $sql="delete from news where id={'$id'}";
多了对单引号吧,应该是$sql="delete from news where id={$id}";
建议调试的时候,把sql打印出来检查
修改和删除指定行,我们一般用file将文件内容读取到数组中,根据数字索引比较容易修改,但是你要求用文件指针,这个比较麻烦,不管你用的是filesystem的函数还是spl类函数,都不可避免一个问题,对一个文件流操作,最多替换流中间的某一段内容,不可能实现插入,又不是c语言的链表,
//修改第二行内容
$f = fopen('test.txt', 'r+');
$i = 1;
while (!feof($f)) {
if ($i == 2) {
fseek($f, 0, SEEK_CUR);
fwrite($f, 'aad');//这里的修改是替换形式,如果修改后这一行的长度比原来短,那么可以用空格填充到原来长度,这样实现修改,而且不影响后面的内容,但是修改后的比原来长就麻烦了,
break;
}
fgets($f);
$i++;
}
fclose($f);
//删除行同修改行一样,只不过是将原来行替换为同等长度的空格串
$f = fopen('test.txt', 'r+');
$j = 1;
while (!feof($f)) {
if ($j == 2){
$row = fgets($f);
$len = strlen($row);
echo ftell($f)-$len."br";
fseek($f, ftell($f)-$len);
fwrite($f, str_pad(' ', $len, ' '));
break;
}
fgets($f);
$j++;
}
fclose($f);
亲,你好,没有必要把第一行删除了再读取第二行啊!
你可以直接写一个循环,然后直接逐行读取txt内容就可以了啊!
PHP有读取文本行的函数fgets($handle);
希望可以帮到你哦!~如果有疑问可以私信我或者继续追问哦!~~
是的,没有函数直接删除文件中的行,修改文件(删除、增加)标准的办法都是新建立文件,逐行进行拷贝,在拷贝中遇到需要修改的就进行修改,那么满足你的功能的标准代码是:
删除第二行:
$f1=fopen('fff.txt','r');
$tmp=tempnam();//建立临时文件
$f2=fopen($tmp,'w');
$line_no=1;//行号
while(!feof($f1)){
$line=fgets($f1);
if ($line_no!=2) fputs($f2,$line);
$line_no++;
}
fclose($f1);
fclose($f2);
rename($tmp,'fff.txt');
删除内容为“user2”的行:
$f1=fopen('fff.txt','r');
$tmp=tempnam();//建立临时文件
$f2=fopen($tmp,'w');
while(!feof($f1)){
$line=fgets($f1);
if ($line!='user2') fputs($f2,$line);
}
fclose($f1);
fclose($f2);
rename($tmp,'fff.txt');
补充:这点举一反三都做不到呀,如果是我的学生我不会来做这个补充的~
$f1=fopen('fff.txt','r');
$tmp=tempnam();//建立临时文件
$f2=fopen($tmp,'w');
while(!feof($f1)){
$line=fgets($f1);
list($u,$p)=explode(':',$line);
if ($u!='user2') fputs($f2,$line);
}
fclose($f1);
fclose($f2);
rename($tmp,'fff.txt');
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流