Php 根据大小筛选网页中的图像

Php 根据大小筛选网页中的图像,php,Php,我想列出任何特定网页上的所有图像,但只想列出大小大于10kb的图像。我使用此代码列出列出该特定网页上所有图像的图像,但我不想列出大小小于10kb的图像 $url="http://example.com"; $html = file_get_contents($url); $doc = new DOMDocument(); @$doc->loadHTML($html); $tags = $doc->getElementsByTagName('img'); foreach ($t

我想列出任何特定网页上的所有图像,但只想列出大小大于10kb的图像。我使用此代码列出列出该特定网页上所有图像的图像,但我不想列出大小小于10kb的图像

$url="http://example.com";

$html = file_get_contents($url);

$doc = new DOMDocument();
@$doc->loadHTML($html);

$tags = $doc->getElementsByTagName('img');

foreach ($tags as $tag) {
   echo $tag->getAttribute('src');
}
PHP有一个
filesize()
函数,该函数返回以
字节为单位的大小,可以这样使用:

echo "The file size in KB is ".(filesize('image.png')/1024);
唯一的问题是它不能处理远程文件

因此,你可以:

  • 将每个图像保存到临时目录
  • 遍历它们并检查文件大小
  • 如果大小为PHP有一个
    filesize()
    函数,该函数返回以
    字节为单位的大小,并将这样使用:

    echo "The file size in KB is ".(filesize('image.png')/1024);
    
    唯一的问题是它不能处理远程文件

    因此,你可以:

  • 将每个图像保存到临时目录
  • 遍历它们并检查文件大小
  • 如果大小请尝试以下操作:-

    $img = get_headers("http://static.adzerk.net/Advertisers/2564.jpg", 1);
    $imgbit = $img["Content-Length"]/1024;
    
    echo "The file size in KB is ".$imgbit;
    
    试试这个:-

    $img = get_headers("http://static.adzerk.net/Advertisers/2564.jpg", 1);
    $imgbit = $img["Content-Length"]/1024;
    
    echo "The file size in KB is ".$imgbit;
    

    好的,你以前试过什么?@stony我试过getimagesize,但不管用。Ok,你以前试过什么?@stony我试过getimagesize,但不管用
    filesize()
    应该可以处理外部URL,因为PHP5.0-。@mihir是的,这是一个非常狡猾的PHP文档。它受支持,但不受支持。看起来
    get\u headers()
    方法是最好的。@user1515503显然是这样。因此,您可以使用a)我的方法,但暂时将文件保存到您的服务器,或者b)使用
    get\u headers()
    方法。@user1515503我已经使用
    get\u headers()
    方法用工作代码对其进行了更新。@mihir没有输出,请运行此代码一次
    filesize()
    应该可以处理外部URL,因为PHP5.0-.@mihir是的,这是一个非常狡猾的PHP文档。它受支持,但不受支持。看起来
    get\u headers()
    方法是最好的。@user1515503显然是这样。因此,您可以使用a)我的方法,但暂时将文件保存到您的服务器,或b)使用
    get\u headers()
    方法。@user1515503我已使用
    get\u headers()使用工作代码对其进行了更新
    approach.@mihir没有输出,请运行此代码一次好的,我认为这是最好的答案^^@abid hussain可以将此输出保存到数据库中吗?//当我试图保存时,只有第一行被保存,但是echo给出了完美的输出,我认为这是最好的答案^@abid hussain可以将此输出保存到数据库中数据库??????//当我试图保存时,只保存了第一行,但echo提供了完美的输出