编程语言
首页 > 编程语言> > php-在39个结果后删除txt文件中的数据

php-在39个结果后删除txt文件中的数据

作者:互联网

目前,我正在使用以下内容将网址写入txt文件.

$data['url'] = $element->href;  
$data['image'] = $image->content;   
$data['title'] = $title2->plaintext;    
$data['genre'] = $genre->plaintext;     
file_put_contents('done.txt', $data['url'] . PHP_EOL, FILE_APPEND);

上面是在foreach循环中使用的,我从中收集数据的网站每页有39个结果,我想知道如何在不删除当前输入流的情况下删除第40个帖子中的前39个结果,那样txt文件一次最多包含39个网址.

编辑:我的草率错误,对不起.

$html = file_get_html('http://oursite.com');         
foreach($html->find('.ourclass') as $element) 
{
    $data['url'] = $element->href;  
    $data['image'] = $image->content;   
    $data['title'] = $title2->plaintext;    
    $data['genre'] = $genre->plaintext;     
    file_put_contents('done.txt', $data['url'] . PHP_EOL, FILE_APPEND);
}

以上是我的foreach布局的方式.

解决方法:

根据当前循环迭代更改flags参数.

假设$i是您的foreach循环中的当前迭代索引…

file_put_contents('dont.txt', $data['url'] . PHP_EOL, $i % 39 ? FILE_APPEND : 0);

这将清空文件,并每40次迭代开始写入新记录.

标签:simple-html-dom,php
来源: https://codeday.me/bug/20191025/1930248.html