Combinaison de 2 codes pour images

Mammouth du PHP | 620 Messages

04 mars 2010, 21:04

Bonjour,
voilà j'essai de combiné 2 de mes codes mais je me mélange les pinceaux et au final sa ne fonctionne toujours pas.

Mon premier code permet de chargé une photo sur un serveur ftp tout en la renommant.
//ON TRAITE LA PARTIE PHOTO REF
	$nomOrigine = $_FILES['photoref']['name'];
	$elementsChemin = pathinfo($nomOrigine);
	$extensionFichier = $elementsChemin['extension'];
	$extensionsAutorisees = array("jpeg", "jpg", "gif", "png", "JPG");
	if (!(in_array($extensionFichier, $extensionsAutorisees))) 
	{
		echo "<div class='erreur'>Le fichier Référence photo n'a pas l'extension attendue</div>";
	} 
	else 
	{    
		// Copie dans le repertoire du script avec un nom
		// incluant l'heure 
		$repertoireDestination = "../../images/galerie/";
		$nomDestination = date("dmY").'-'.$nomOrigine;

		if (move_uploaded_file($_FILES["photoref"]["tmp_name"], $repertoireDestination.$nomDestination)) 
		{
			

			echo "La photo porte le nom  : " .$repertoireDestination.$nomDestination. ". Elle est bien enregistrée <br/>";
		} 
		else 
		{
			echo "Le fichier n'a pas été uploadé (trop gros ?) ou ".
				 "Le déplacement du fichier temporaire a échoué".
				 " vérifiez l'existence du répertoire ".$repertoireDestination;
		}
	}
le second code permet également de charger une photo sur un serveur mais en la redimensionnant en fonction de la hauteur max que l'on souhaite

$uploadlogo = basename($_FILES['logo']['name']);
$uploaddir = '../../images/images/';
$uploadfile = $uploaddir . basename($_FILES['logo']['name']);

		if (isset ($_FILES['logo']['tmp_name']) && $_FILES['logo']['tmp_name'] != "none") {  
			if (!file_exists($uploadfile)) {
				if (move_uploaded_file($_FILES['logo']['tmp_name'], $uploadfile)) { 
					
	  
					//creation mini
					$src_img = imagecreatefromjpeg($uploadfile);
					$size = GetImageSize($uploadfile);
					$dst_img = imagecreatetruecolor($cote_mini,$cote_mini);
					imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $cote_mini, $cote_mini, $size[0], $size[1]);
					imagejpeg($dst_img, $uploaddir."thumbs/".basename($_FILES['logo']['name']), 75);
					imagedestroy($src_img);
					imagedestroy($dst_img); 
					
					//redimensionnement image
					$haut = "500";
					$larg = $size[0]*$haut/$size[1];
					$src_img = imagecreatefromjpeg($uploadfile);
					$size = GetImageSize($uploadfile);
					$dst_img = imagecreatetruecolor($larg,$haut);
					imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $larg, $haut, $size[0], $size[1]);
					imagejpeg($dst_img, $uploadfile, 75);
					imagedestroy($src_img);
					imagedestroy($dst_img);
					
					echo "image envoyé !</body>";
				}
			}
			else
				{echo "<font color=red>Une image portant le même nom existe déja.</font>";}
		}


// envoi de l'image
//on vérifies que le champ est bien rempli:
if(!empty($_FILES["'photoref'"]["name"]))
{
	//nom du fichier choisi:
	$nomFichier    = $_FILES["'photoref'"]["name"] ;
	//nom temporaire sur le serveur:
	$nomTemporaire = $_FILES["'photoref'"]["tmp_name"] ;
	//type du fichier choisi:
	$typeFichier   = $_FILES["'photoref'"]["type"] ;
	//poids en octets du fichier choisit:
	$poidsFichier  = $_FILES["'photoref'"]["size"] ;
	//code de l'erreur si jamais il y en a une:
	$codeErreur    = $_FILES["'photoref'"]["error"] ;
	
	//chemin qui mène au dossier qui va contenir les fichiers uplaod:
	$chemin = "../../images/images/" ;
 
	if(copy($nomTemporaire, $chemin.$nomFichier))
		echo("<br>l'upload de l'image a réussi") ;
	else
		echo("<br>l'upload de l'image a échoué") ;
}//fin if
else
{
	echo("Vous n'avez pas choisit de fichier!!<br>") ;
	echo("<a href=\"./nouveau.php\">Retour</a>") ;
}//fin else

je voudrai combiné les 2 afin que lorsque l'on télécharge une image vers le répertoire images on puisse a la foi renommer la photo et la redimensionner. J'ai pas trouvé plus simple mais peut être avez vous une solution ?