首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php web图像搜索

php web图像搜索
EN

Stack Overflow用户
提问于 2011-04-02 15:50:38
回答 1查看 90关注 0票数 0

我想做一个图片搜索引擎。我使用simple_html_dompreg_match_all获取所有图像,然后使用getimagesize获取所有图像大小。以下是我的代码的一部分。

代码语言:javascript
运行
复制
<?php
header('Content-type:text/html; charset=utf-8');
require_once 'simple_html_dom.php';
$v = 'http://www.jqueryimage.com/';
$html = file_get_html($v);
foreach($html->find('img') as $element) {
        if( preg_match('#^http:\/\/(.*)\.(jpg|gif|png)$#i',$element->src)){
            $image = $element->src;
            //$arr = getimagesize($image); //get image width and height            
            //$imagesize = $arr[0] * $arr[1];  
            echo $image.'<hr />';
        }
    }
?>

第一个问题,如何添加判断,以便我可以回显最大尺寸的图像?(只有一个图像)。

第二个问题,我可以在这两种可能性中得到图像的真实url,第一,图像是作为‘/’开始的,第二,图像是作为http开始的。但是在图片是以'./‘或../../../开头的情况下,如何获取图片的真实url呢?我很难判断一张图片中有多少个../,然后裁剪网站的url来补充图片的真实url?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-02 16:05:35

foreach循环之前插入以下内容:

代码语言:javascript
运行
复制
$maxsize = -1;
$the_biggest_image = false;

$image = $element->src;行下面插入此内容

代码语言:javascript
运行
复制
$arr = getimagesize($image);
if (($arr[0] * $arr[1]) > $maxsize) {
  $maxsize = $arr[0] * $arr[1];
  $the_biggest_image = $image;
  }

foreach循环之后,您将设置$the_biggest_image变量,如果什么也没有找到,则设置为false。如果找到一个以上的“最大图像”,这将是第一个。

对于第二个问题,我不知道!

编辑:修正了一些东西!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5521935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档