php网络图像搜索
我想做一个图片搜索引擎。我使用php网络图像搜索,php,Php,我想做一个图片搜索引擎。我使用simple\u html\u dom和preg\u match\u all获取所有图像,然后使用getimagesize获取所有图像大小。 这是我代码的一部分 <?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
simple\u html\u dom
和preg\u match\u all
获取所有图像,然后使用getimagesize
获取所有图像大小。
这是我代码的一部分
<?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
谢谢。在
foreach
循环之前插入此项:
$maxsize = -1;
$the_biggest_image = false;
在下面插入这个$image=$element->src代码>行
$arr = getimagesize($image);
if (($arr[0] * $arr[1]) > $maxsize) {
$maxsize = $arr[0] * $arr[1];
$the_biggest_image = $image;
}
在foreach
循环之后,将设置$the_maxist_image
变量,如果未找到,则设置为false。如果找到了多个“最大图像”,这将是第一个
第二个问题,我不知道
编辑:修正了一些东西 “最大”是什么意思?例如200x200、1024x1、10x1000。。。这三个中哪一个最大?你想计算它的表面积吗?@Wh1T3h4Ck5,200x200=40000
,1024x1=1024
,10x1000=10000
,200x200是最大的。如果在最大的40000
中有大小相同的移动图像,则获取第一个。谢谢,正是我的意思。看看我的答案!谢谢,它可以工作。关于第二个问题,我将提出一个新问题。