重复 PHP 代码块
Duplicate PHP Code Block
我从特定 url 获取图像。使用此脚本,我可以毫无问题地在我的网站上显示它们。我从中获取图像的网站有超过一个(大约 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.'"/>';
}
?>
您可以像这样使用 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
的值追加到url来改变页码,每循环完成一轮,$i
的值就变成$i + 1
.
如果您希望从更高的页码开始,只需将 $i = 1
的值更改为 $i = 2
或任何其他数字,您可以将 200
更改为无论您的情况的最大值是多少。
首先,将它们存储在数据库中。您可以(/应该)将图像下载到您自己的服务器,或者也将 uri 存储到图像。您可以为此使用 之类的代码或类似的代码,但打开 200 页并解析它们的 HTML 需要很长时间。每次浏览量。
然后您只需在查询中使用 LIMIT
功能自行创建页面。
无论如何我推荐这种方法,因为这比每次有人打开此页面时解析 html 快得多。你将有排序选项和其他专业的数据库给你。
有很多好的解决方案,其中之一:尝试从 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.'"/>';
}
}
<?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 文档
我从特定 url 获取图像。使用此脚本,我可以毫无问题地在我的网站上显示它们。我从中获取图像的网站有超过一个(大约 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.'"/>';
}
?>
您可以像这样使用 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
的值追加到url来改变页码,每循环完成一轮,$i
的值就变成$i + 1
.
如果您希望从更高的页码开始,只需将 $i = 1
的值更改为 $i = 2
或任何其他数字,您可以将 200
更改为无论您的情况的最大值是多少。
首先,将它们存储在数据库中。您可以(/应该)将图像下载到您自己的服务器,或者也将 uri 存储到图像。您可以为此使用
然后您只需在查询中使用 LIMIT
功能自行创建页面。
无论如何我推荐这种方法,因为这比每次有人打开此页面时解析 html 快得多。你将有排序选项和其他专业的数据库给你。
有很多好的解决方案,其中之一:尝试从 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.'"/>';
}
}
<?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 文档