Webmaster Hub: Miniature image via URL - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Miniature image via URL Création d'une miniature par son URL Noter : -----

#1 L'utilisateur est hors-ligne   GeoGe 

  • Groupe : Membre
  • Messages : 2
  • Inscrit(e) : 12-octobre 05

Posté 19 août 2011 - 09:32

Bonjour à tous !

Je cherche un script PHP qui permette de créer une miniature d'une image donné par son URL.

Je m'explique je souhaiterai un script, qui, lorsque je rentre ; script.php?url=URL_DE_L'IMAGE me transforme l'url de l'image en miniature d'une taille X renseigné dans le script ou via l'url ?

Petite précision, la miniature généré ne sera pas celle de l'image du site (screenshot du site) mais bien d'une image "autonome".


Merci d'avance pour vos réponses :)

Ce message a été modifié par GeoGe - 19 août 2011 - 09:38.

0

#2 L'utilisateur est hors-ligne   BlackPage 

  • Groupe : Actif
  • Messages : 23
  • Inscrit(e) : 27-avril 05

Posté 19 août 2011 - 12:33

Salut,

Ci-dessous le script que j'utilise pour redimensionner une image soumise à la volée, à adapter à tes besoins...

$NomLogo = $_FILES['Logo']['name'];
        $SizeLogo = $_FILES['Logo']['size'];
        $TmpLogo = $_FILES['Logo']['tmp_name'];
        $ErrorMsg = $_FILES['Logo']['error'];

	
	$RepCible = "images/logos_clients/";
	$MaxSize = 300000; //Limite de 100Ko
	$MaxSizeWidth = 150; //Limite de 90 pixels de large
	$MaxSizeHeight = 50; //Limite de 70 pixels de haut
	$new_Type = "jpg";
	
	$TailleLogo = getimagesize($NomTmpLogo);
	$TypeLogo = $TailleLogo[2];
	$LogoCible = $RepCible . "logo" . $Client_Info["Client_ID"];
	//print "Nom temporaire : $NomTmpLogo<br>";
	//print "Nom cible : $LogoCible<br>";
	//exit;
	
	if(!empty($NomLogo)){
		if($SizeLogo <= $MaxSize){
			if(move_uploaded_file($NomTmpLogo,$LogoCible)) {
			
				switch($TypeLogo){
					case 1:
						$TypeLogo = "gif";
						break;
					case 2:
						$TypeLogo = "jpg";
						break;
					case 3:
						$TypeLogo = "png";
						break;
					default:
						$TypeLogo = "Erreur";
						break;
				}
				
				if($TypeLogo != "Erreur") {
					//On charge l'ancien logo suivant son type
					switch($TypeLogo){
						case "gif":
							$oldLogo = ImageCreateFromGif($LogoCible);
							break;
						case "jpg":
							$oldLogo = ImageCreateFromJpeg($LogoCible);
							break;
						case "png":
							$oldLogo = ImageCreateFromPng($LogoCible);
							break;
					}
					
					//On détermine la taille de l'ancien logo
					$oldLogoWidth = $TailleLogo[0];
					$oldLogoHeight = $TailleLogo[1];
					
					if($oldLogoHeight > $oldLogoWidth){
						//Hauteur du nouveau logo
						$newLogoHeight = $MaxSizeHeight; 
						
						//On maintient le ratio de l'image
						$newLogoWidth = round(($newLogoHeight / $oldLogoHeight) * $oldLogoWidth);
					}elseif($oldLogoHeight < $oldLogoWidth){
						//Largeur du nouveau logo
						$newLogoWidth = $MaxSizeWidth; 
						
						//On maintient le ratio de l'image
						$newLogoHeight = round(($newLogoWidth / $oldLogoWidth) * $oldLogoHeight);
					}elseif($oldLogoHeight == $oldLogoWidth){
						//Largeur & hauteur du nouveau logo
						$newLogoWidth = $MaxSizeWidth; 
						$newLogoHeight = $MaxSizeHeight;
					}
					
					
					//Création du nouveau logo
					$newLogo = ImageCreateTrueColor($newLogoWidth,$newLogoHeight);
					
					//Redimentionnement de l'ancien logo dans le nouveau logo
					ImageCopyResampled($newLogo,$oldLogo,0,0,0,0,$newLogoWidth,$newLogoHeight,$oldLogoWidth,
$oldLogoHeight);
					
					
					//On sauvegarde le nouveau logo en remplacant l'ancien suivant son type
					switch($new_Type){
						case "gif":
							ImageGif($newLogo,$LogoCible);
							break;
						case "jpg":
							ImageJpeg($newLogo,$LogoCible);
							break;
						case "png":
							ImagePng($newLogo,$LogoCible);
							break;
					}
					
					$new_Nom = "Logo" . $Client_Info["Client_ID"] . ".".$new_Type;
					
					rename($LogoCible,$RepCible.$new_Nom); 
					
					//On détruit les images temporaires
					ImageDestroy($newLogo);
					ImageDestroy($oldLogo);
					
					//Fichier Final avec chemin compplet
					$Final_File = $RepCible . $new_Nom;
					
				} else {
					//Mauvais format de Logo, avertir
					

				}	
			} else {
				//Pbe upload avertir
				

				exit;
			}
		} else {
			//Image >300KO
			

			exit;
		}
	}
}


Bon courage !
0

#3 L'utilisateur est hors-ligne   GeoGe 

  • Groupe : Membre
  • Messages : 2
  • Inscrit(e) : 12-octobre 05

Posté 19 août 2011 - 14:30

Merci pour ta réponse BlackPage.

Finalement, j'ai trouvé un petit script qui me convient parfaitement :)

Pour ceux que ça intéresse : Timthumb
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)