我从特定网址获取图片。使用此脚本我可以在我的网站上显示它们没有任何问题。我得到图像的网站有多个(约200页)我需要的图像。
我不想手动复制PHP代码块,每次从1到200填写页码。是否可以在一个块中完成?
赞:$ html = file_get_html('http://example.com/page/ 1 ... to ... 200 ');
<?php
require_once('simple_html_dom.php');
$html = file_get_html('http://example.com/page/1');
foreach($html->find('img') as $element) {
echo '<img src="'.$element->src.'"/>';
}
$html = file_get_html('http://example.com/page/2');
foreach($html->find('img') as $element) {
echo '<img src="'.$element->src.'"/>';
}
$html = file_get_html('http://example.com/page/3');
foreach($html->find('img') as $element) {
echo '<img src="'.$element->src.'"/>';
}
?>
答案 0 :(得分:1)
您可以像这样使用for循环:
require_once('simple_html_dom.php');
for($i = 1; $i <= 200; $i++){
$html = file_get_html('http://example.com/page/'.$i);
foreach($html->find('img') as $element) {
echo '<img src="'.$element->src.'"/>';
}
}
所以现在你有一个代码块,将执行200次。
它通过将$i
的值附加到网址来更改网页编号,每次循环完成一轮后,$i
的值就会变为$i + 1
。
如果您希望从较高的页码开始,只需将$i = 1
的值更改为$i = 2
或任何其他号码,您就可以将200
更改为max适用于您的情况。
答案 1 :(得分:1)
首先,将它们存储在数据库中。您可以(/应该)将图像下载到您自己的服务器,或者将uri存储到图像中。您可以使用FMashiro's之类的代码或类似的代码,但打开200页并解析其HTML需要永远。每次网页浏览。
然后,您只需在查询中使用LIMIT
函数来自行创建页面。
无论如何我推荐这种方法,因为这比每次有人打开这个页面时解析html要快得多。而且您将拥有排序选项以及数据库为您提供的其他专业人员。
答案 2 :(得分:1)
有许多好的解决方案:尝试从1到200进行循环
for($i = 1; $i <= 200; $i++){
$html = file_get_html('http://example.com/page/'.$i);
foreach($html->find('img') as $element) {
echo '<img src="'.$element->src.'"/>';
}
}
答案 3 :(得分:1)
<?php
function SendHtml($httpline) {
$html = file_get_html($httpline);
foreach($html->find('img') as $element) {
echo '<img src="'.$element->src.'"/>';
}
}
for ($x = 1; $x <= 200; $x++) {
$httpline="http://example.com/page/";
$httpline.=$x;
SendHtml($httpline);
}
?>
只是循环。创建发送功能并循环拨打电话。 我建议你阅读https://www.w3schools.com/php/default.asp
中的所有php文档