BLASSENweb

Automatická miniatura - thumbnails webových stránek
Publikováno: Pondělí, 24.09. 2007 - 12:47:09
Téma: PHP & MySQL


Na různých diskuzních fórech se jednou za čas objeví dotaz na to jak například katalog seznam dělá u odkazů ty miniaturní obrázky nalezených stránek.

Nejčastější odpovědí bývá, že ručně.
Asi ano, asi to někdo ručně vyrábí, ale to nám se zrovna moc nechce a tu práci si celkem rádi ušetříme. Otázka zní jak?....

 Těch možností je hnedle několik, ale vždy se jedná o využití nějakého externího zdroje. Může to například být Snap Shots ( Snap Shots for Your Website: http://www.snap.com/ ). Což je velmi užitečný nástroj který umí mnohé.

Například takovéto pěkné obrázky:
Snap Shots for BLASSENweb
<img alt="Snap Shots for BLASSENweb" title="Snap Shots for BLASSENweb" border="0" src="http://shots.snap.com/preview/?url=http://blassenweb.net" />.


Další a to velice zajímavou možností se jeví stránka thumbshots.org díky níž je možné pořídit si automaticky miniaturní screenshot nějaké stránky aniž by jsme jí my sami museli vůbec kdy navštívit. Velice užitečné.

Dopomůže nám k tomu přímo adresa http://open.thumbshots.org/image.pxf?url=http://blassenweb.net

To umí udělat cosi nádherného:
FREE Thumbshots for BLASSENweb
<img alt="FREE Thumbshots for BLASSENweb" title="FREE Thumbshots for BLASSENweb" border="0" src="http://open.thumbshots.org/image.pxf?url=http://blassenweb.net" />

Akorát to co potřebujeme. Pokud máme větší návštěvnost a hodně obrázků pak by mohl nastat problém s trafficem (přenesenými daty). Jednou z možností je použít následující kód který uloží obrázky k nám na webserver a potom je čte z něj.
{ Kód }:
/*
PHP Function to Locally store website images from http://www.thumshots.org
Code is free. No guarantees or warranties.

usage:
<img src="<? echo get_thumb("[LINK]"); ?>">

requires:
PHP 4 >= 4.3.0
*/

function get_thumb($url) {
    
//EDITABLE PARAMETERS
    
$local_thumb_dir "img/thumbs"//Where Thumbnail images are stored locally
                                   //Web Server needs to be able to write here
    
$days_to_keep 60;              //How many days till check if new thumbnail
    
$return_img "/img/p.gif";      //To use if no thumbnail exists
    //END EDITABLE

    
if(substr($url,0,4)!='http'$url='http://' $url//Make sure URL proper
    
$url urlencode($url);
    
$fname str_replace(array('%3A','%2F'),'_',$url);
    
$full_img_path $_SERVER['DOCUMENT_ROOT'] . "/$local_thumb_dir/$fname.jpg";

    if(!
file_exists($full_img_path)) {
        
//get from thumbshots.org
        
$buff file_get_contents("http://open.thumbshots.org/image.pxf?url=$url");
        if(
$buff!="") {
            
$fp fopen($full_img_path"wb");
            
fwrite($fp,$buff);
             
fclose($fp);
            
$return_img "/$local_thumb_dir/$fname.jpg";
        }
    }
    
    if(
file_exists($full_img_path)) {
        
//check age
        
$diff = (time() - filemtime($full_img_path))/60/60/24;
        if (
$diff $days_to_keep) {
            
unlink($full_img_path);
        } else {
            
$return_img "/$local_thumb_dir/$fname.jpg";
        }   
    }

    return 
$return_img;
}


To je prozatím asi vše. Kdyby měl někdo nápad na vylepšení, nechť se neváhá podělit o své skušenosti například prostřednictvím diskuzního fóra. Pro systém united-nuke je k dispozici takto upravený modul Web_Links který najdete v sekci Downloads.

-- Autor: Blassen






Tento článek si můžete přečíst na webu BLASSENweb
http://blassenweb.net

Tento článek najdete na adrese:
http://blassenweb.net/clanky/automaticka-miniatura-thumbnails-webovych-stranek/301
Magic SEO URL - Optimalizace pro vyhledávače