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

时间:2015-06-04 17:04:29

标签: php

嗨,大家好我有问题要在名字中找到不同部分的图片,让我来解释一下。 在目录中我有很多图片的格式名称: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' );

2 个答案:

答案 0 :(得分:1)

如果它是您的服务器之一,您应该弄清楚图像文件名的模式是什么,例如x-y.jpeg,其中x是1到100,{{1从1到9然后使用此代码进行处理:

y

答案 1 :(得分:0)

您不能在http请求中使用通配符或类似方法。这样的请求必须只查询一个特定的对象,除非您在服务器端有一个处理逻辑。

在您的示例中,您使用请求特定图像文件的网址。使用该方法,您只需要一个单独的特定图像。您必须为每个可能的名称模式发出单个请求,以检索与所需模式匹配的所有可用图像文件。

另一种方法是不在http请求中请求特定图像,而是处理逻辑,通常是服务器端的脚本。这样的脚本可以接受诸如通配符模式(或类似)之类的东西并返回匹配,甚至可以同时返回多个图像。但这显然意味着您可以控制该服务器系统,可以在该系统上实现逻辑。所以它必须是你的系统,你从中查询图像。