[英]get images files with different parts in names
嗨,大家好,我在获取名称中包含不同部分的图像时遇到问题,让我解释更多。 在目录中,我有很多图片,其名称为:1- [1-9] .jpg或2- [1-9] .jpg或...,例如名称可以为1-5.jpg或1-14。 jpg或2-3.jpg,所以我不知道什么是获取文件的真实方法!
这是我想要的一个例子:
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$diff = [1-9];
$html = get_data('http://mysite.info/screenshots/1-' . $diff. '.jpeg' );
如果它是您的服务器之一,则应找出图像文件名的模式,例如xy.jpeg
,其中x
为1到100, y
为1到9。然后使用此代码处理:
foreach (range(1, 100) as $x) {
foreach (range(1, 9) as $y) {
$html = get_data('http://mysite.info/screenshots/'.$x.'-'.$y.'.jpeg' );
}
}
您不能在http请求中使用通配符或类似方法。 这样的请求必须精确地查询一个特定的对象,除非您在服务器端具有处理逻辑。
在您的示例中,您使用请求特定图像文件的网址。 使用这种方法,您只需要一张单一的特定图像。 您必须为每个可能的名称模式提出一个请求,以检索与所需模式匹配的所有可用图像文件。
另一种方法是不请求http请求中的特定图像,而是处理逻辑,通常是服务器端的脚本。 这样的脚本可以接受通配符模式(或类似字符)之类的内容,并返回匹配项,甚至一次返回多个图像。 但这显然意味着您可以控制该服务器系统,可以在该系统上实现逻辑。 因此它必须是您查询图像的系统。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.