目前我正在使用以下内容将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
的布局方式。
答案 0 :(得分:4)
根据当前循环迭代更改标志参数。
假设$i
是foreach
循环中的当前迭代索引...
file_put_contents('dont.txt', $data['url'] . PHP_EOL, $i % 39 ? FILE_APPEND : 0);
这将清空文件并开始每40次迭代写入新记录。