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

时间:2017-10-03 22:42:04

标签: php simple-html-dom

目前我正在使用以下内容将URL写入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个URL。

编辑:我这个邋error的错误,抱歉。

$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的布局方式。

1 个答案:

答案 0 :(得分:4)

根据当前循环迭代更改标志参数。

假设$iforeach循环中的当前迭代索引...

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

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