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