2014-09-12 2 views
1

У меня есть PHP-код, который будет извлекать и извлекать все изображения на веб-сайте. Как изменить код так, чтобы отображались размеры (ширина и высота) изображений?Извлечение изображений и определение размеров изображений

Это PHP кодирование:

<?php 
$page_title = "MiniCrawler"; 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <title><?php print($page_title) ?></title> 
</head> 
<body> 

    <?php 
    ini_set('display errors',1); 
    error_reporting(E_ALL|E_STRICT); 
    Include simple_html_dom.php. 
    include_once ('simple_html_dom.php'); 

// Add the url of the site you want to scrape. 
    $target_url = "http://www.alibaba.com/"; 

// Let simple_html_dom do its magic: 
    $html = new simple_html_dom(); 
    $html->load_file($target_url); 

// Loop through the page and find everything in the HTML that begins with 'img' 
    foreach($html->find('img') as $link){ 
     echo $link->src."<br />"; 
     echo '<img src ="'. $link->src.'"><br />'; 
    } 

    ?> 
</body> 
</html> 

Благодаря

ответ

1

Сначала вы должны проверить, если $link->src строка уже есть доменное имя в начале:

<?php 

    if(substr($link->src, 0, 4) == "http"){ 
    // url already complete 
    $path = $link->src; 
    }else if(substr($link->src, 0, 1) == "/"){ 
    // path starts absolute 
    $path = $target_url . $link->src; 
    }else{ 
    // path starts relative -> http://stackoverflow.com/questions/4444475/transfrom-relative-path-into-absolute-url-using-php 
    } 

?> 

Тогда : Запросить размеры файлов с помощью функции getimagesize().

<?php 

    list($width, $height, $type, $attr) = getimagesize($path); 
    echo '<img src ="'. $link->src.'" width="' . $width . '" height="' . $height . '"><br />'; 

?> 
Смежные вопросы