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

Remove data in txt file after 39 results

目前我正在使用以下方法将 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 个结果 post删除当前输入流,这样 txt 文件一次最多包含 39 个 url。

编辑:我的草率错误,抱歉。

$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 次迭代写入新记录。