2011-04-20 2 views
0

이미지 그래버가 필요합니다. 그 말은 다른 페이지 (YouTube, 일반 웹 사이트, 경제학자 등 ...)를 검색 할 수있는 이미지 그래버와 같은 Digg를 의미하고, 괜찮은 크기의 이미지를 얻고, 선택하면 내 서버에 업로드 할 수 있습니다. .Ajax 이미지 그래버

누구든지이 플러그인을 알고 있습니까?

감사합니다.

답변

1

기성품 라이브러리에 대해 모르겠습니다. 그러나 한때 페이지에서 "기본 이미지"를 검색하는 빠른 방법이 필요했습니다. 내 생각에 가장 큰 파일 크기를 얻는 것이 었습니다. PHP SimpleHTMLDom 라이브러리를 사용하여 사이트의 <img> 태그에 쉽게 액세스 할 수있었습니다.

다음은 주어진 페이지의 가장 큰 이미지 파일의 URL을 반환하는 코드의 주요 부분입니다.

희망에 기반 해 구축 할 수 있기를 바랍니다.

// Load the remote document 
$html = file_get_html($url); 

$largest_file_size=0; 
$largest_file_url=''; 

// Go through all images of that page 
foreach($html->find('img') as $element){ 
    // Helper function to make absolute URLs from relative 
    $img_url=$this->InternetCombineUrl($url,$element->src); 
    // Try to get image file size info from header: 
    $header=array_change_key_case(get_headers($img_url, 1)); 
    // Only continue if "200 OK" directly or after first redirect: 
    if($header[0]=='HTTP/1.1 200 OK' || @$header[1]=='HTTP/1.1 200 OK'){ 
     if(!empty($header['content-length'])){ 
      // If we were redirected, the second entry is the one. 
      // See http://us3.php.net/manual/en/function.filesize.php#84130 
      if(!empty($header['content-length'][1])){ 
       $header['content-length']=$header['content-length'][1]; 
      } 
      if($header['content-length']>$largest_file_size){ 
      $largest_file_size=$header['content-length']; 
      $largest_file_url=$img_url; 
      } 
     }else{ 
      // If no content-length-header is sent, we need to download the image to check the size 
      $tmp_filename=sha1($img_url); 
      $content = file_get_contents($img_url); 
      $handle = fopen(TMP.$tmp_filename, "w"); 
      fwrite($handle, $content); 
      fclose($handle); 
      $filesize=filesize(TMP.$tmp_filename); 
      if($filesize>$largest_file_size){ 
      $largest_file_size=$filesize; 
      $largest_file_url=$img_url; 
      unlink(TMP.$tmp_filename); 
      } 
     } 
    } 
} 
return $largest_file_url; 
+0

나는 그것을 살펴볼 것이다. 감사. – denislexic