Redimenssion d'images

Mammouth du PHP | 620 Messages

11 févr. 2010, 12:56

Bonjour,
actuellement lorsque je veu ajouter un photo dans ma galerie je redimenssionne mon image via mon logiciel et apres je l'upload via mon formulaire.
je truc est que sa prend du temps et je voudrai simplifier la chose en redimenssionnent l'image lors de l'upload. Je sais qu'il existe "getimagesize" mais j'ai fais plein d'essai et j'ai laissé tombé car je n'y arrivait pas. je voudrait que l'image se redimenssione maxi en 800 x 600 et que si elle est plus petit que ces dimenssion on la laisse tel que ... :evil:

actuellement je fais donc comme ceci :
      <?PHP

	include("../connexion-sql.php");
	
	
$type = $_POST['type'];
$ref = $_POST['ref'];
$alt = $_POST['alt'];
	
	
	//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 a la seconde pres 
		$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;
		}
	}
	
Vérification */
	if ( $type == "Choisissez le type" ) {
	  echo "<div class='erreur'> Attention ! Veuillez un choisir un type pour cette nouvelle référence.</br></div>";
	  $erreur = true;
	}
	if ( $ref == "" ) {
	  echo "<div class='erreur'> Veuillez indiquer un nom de référence.</br></div>";
	  $erreur = true;
	}
	if ( $alt == "" ) {
	  echo "<div class='erreur'> Veuillez indiquer un texte pour la balise alt.</br></div>";
	  $erreur = true;
	}
	
	
	
if ( !$erreur ) {	

		$sql = "INSERT INTO IWgalerie(id, type, ref, photoref, exemple, photoex, alt)
		VALUES('','$type','$ref','$nomDestination','$exemple','$nomDestination2', '$alt' )";
		
		mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); 
		
		echo 'La nouvelle image a été ajoutée.'; 
		}
		mysql_close(); 
?>

ViPHP
ViPHP | 2144 Messages

11 févr. 2010, 14:54

Salut,

Tu peux regarder du côté de la librairie GD qui te permettra de redimensionner facilement ton image avant de la stocker.
Il y a beaucoup d'exemple sur le net d'utilisation.

A++

Eléphant du PHP | 63 Messages

12 févr. 2010, 11:31

Tu peux aussi te tourner vers ImageMagick qui est bien plus puissant (à mon sens) que GD.