我在将图像获取为数组时遇到以下问题。在这段代码中,我试图检查是否Test 1存在要搜索的图像-如果是,则显示,如果不显示,然后尝试,仅Test 2此而已。当前的代码可以做到,但是速度非常慢。这if (sizeof($matches[1]) > 3) {是因为3有时它包含爬网网站上的广告,所以这是我安全的跳过方法。我的问题是我如何才能加快下面的代码的if (sizeof($matches[1]) > 3) {速度呢?我相信这会使代码非常慢,因为此数组可能包含多达1000个图像$get_search = 'Test 1';$html = file_get_contents('https://www.everypixel.com/search?q='.$get_search.'&is_id=1&st=free');preg_match_all('|<img.*?src=[\'"](.*?)[\'"].*?>|i', $html, $matches);if (sizeof($matches[1]) > 3) { $ch_foreach = 1;}if ($ch_foreach == 0) { $get_search = 'Test 2'; $html = file_get_contents('https://www.everypixel.com/search?q='.$get_search.'&is_id=1&st=free'); preg_match_all('|<img.*?src=[\'"](.*?)[\'"].*?>|i', $html, $matches); if (sizeof($matches[1]) > 3) { $ch_foreach = 1; }}foreach ($matches[1] as $match) if ($tmp++ < 20) { if (@getimagesize($match)) { // display image echo $match; }}
1 回答
- 1 回答
- 0 关注
- 233 浏览
添加回答
举报
0/150
提交
取消