繁体   English   中英

获取名称不同部分的图像文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM