Home :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes 216.73.216.253
cf http://infosthetics.com/archives/2006/02/flickrmixr_xml_rss_feed_visualization.html

code source pour une image :

<?php
/*
mixr160.php
genere une image à partir d'un appel URI  type : mixr160.php?tag=test
*/
if($_GET['tag']) {
    if( 
preg_match("/^[a-zA-Z0-9]*$/", $_GET['tag']) ) {
        
$tag = $_GET['tag'];
    } else {
        
$tag = "vacation";
    }
} else {
    
$tag = "vacation";
}

$im_w       = 160;          //largeur image
$im_h       = 80;          //hauteur image
$im = imagecreatetruecolor($im_w , $im_h );
$bgc = imagecolorallocate($im, 0, 0, 0);
$tc  = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, $im_w , $im_h , $bgc);
$ty = 5;
 
//$ty += 10;

$store = FALSE;
$cur_tag = "";
$cur_data = "";
$n = 0;
$error = "";

$cur_item = array('titre'=>'', 'url'=>'', 'contenu'=>'','dat'=>'');

function 
startElement($parser, $name, $attribs) {
     global 
$cur_tag, $cur_data, $cur_item, $store, $n, $tc, $im, $im_w, $im_h, $ty;

     if(
$name == "MEDIA:THUMBNAIL" && $n<5) {

        
$url = $attribs['URL'];
        
$ws = $attribs['WIDTH'];
        
$hs = $attribs['HEIGHT'];
        
        
//if($ws<=640 && $hs<=480) {
            
if($ims = @imagecreatefromjpeg($url)) {
                
$imtemp = imagecreatetruecolor($im_w , $im_h );
                
imagecopyresampled ($imtemp, $ims, 0, 0, 0, 0, $im_w, $im_h, $ws, $hs);
                
imagecopymerge( $im, $imtemp, 0, 0, 0, 0, $im_w, $im_h, 50);//$im_w
                
$n++;
                
imagedestroy($imtemp);
                
imagedestroy($ims);
            } else {
                
//imagestring($im, 1, 5, $ty, "Error loading $url", $tc); 
                //$ty +=10;
            
}
        
//} else {
            //imagestring($im, 1, 5, $ty, "$ws $hs", $tc); 
            //$ty += 10;
        //}

     
}

}


function 
endElement($parser, $name) {
    global 
$cur_item, $store;

}


function 
characterData ($parser, $data) {
    global 
$cur_tag, $cur_item, $store;

}



$xml_file = "http://www.flickr.com/services/feeds/photos_public.gne?tags=".$_GET['tag']."&format=rss_200";

$encoding = "UTF-8";
if(
$fp = fopen($xml_file, "r")) {
    
//echo "<a href=\"$xml_file\">RSS</a><br />";
    
$xml_parser = xml_parser_create("UTF-8");
    
xml_set_element_handler($xml_parser, 'startElement','endElement');
    
xml_set_character_data_handler($xml_parser, 'characterData');
    while (
$data = fread($fp, 4096)) {
        if(
$encoding == "UTF-8") {
            
//$data = utf8_decode($data);
        
}
        if(!
xml_parse($xml_parser, $data, FALSE)) {
            
$e = xml_get_error_code ( $xml_parser );
            
$error .= xml_error_string($e)."<br>";
        }
    }
    
fclose($fp);
    
xml_parser_free ($xml_parser);
} else {
    
$error .= " erreur";
}
if(
$error == "") {
$s1 = "DATAPAINTING@FLICKR ";
$s2 = strtoupper($tag);///." - " . date("Y-m-d H:i:s"). "";
//imagestring($im, 1, 1, 1, $s1, $tc);
imagestring($im, 1, 4, 70, $s2, $tc);
Header("Content-type: image/jpeg");
imagejpeg($im,'',100);
} else {
echo 
$error;
}
imagedestroy($im);
?>

Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]