Album photo 4

Fermé
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 21 juin 2015 à 19:20
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 - 23 juin 2015 à 16:41
Bonjour,
J'ai créé un album photo tout marche bien, mais maintenant je voudrais pouvoir redimensionner les images.
Les photos que je prends avec mon appareil photos sont d'une très grandes résolution.
Par exemple
la taille 4608 X 2592 (3,60 MO)
Pouvez-vous m'aider pour créer une fonction afin que mes photos Uploadé soient redimensionner automatiquement lors du téléchargement soient environ 800 X 600 (50 KO).
Voici la page php je déclare les variables, j'autorise certaines extensions et je les met en minuscule.
Il y a la fonction move_uploaded_file et la requète pour l'INSERT dans la BDD.
La fonction move_uploaded_file ne peut pas déplacer un fichier trop volumineux dans mon dossier.
Pouvez-vous m'aider s'ils vous plait, c'est très sympa de votre part.
Merci
if(isset($_POST['action'])) {

	$id_photo 		= isset($_REQUEST['id_photo']) ? $_REQUEST['id_photo'] : '';
	$rid_album 		= isset($_POST['rid_album']) ? $_POST['rid_album'] : '';
	$lieu_photo 		= isset($_POST['lieu_photo']) ? $_POST['lieu_photo'] : '';
	$objet_photo 	= isset($_POST['objet_photo']) ? $_POST['objet_photo'] : '';
	$id_album 		= isset($_REQUEST['id_album']) ? $_REQUEST['id_album'] : '';
	
	$file 			= $_FILES['photo']['name'];
	$file_type 		= $_FILES['photo']['type'];
	$file_size 		= $_FILES['photo']['size'];
	$file_tmp 		= $_FILES['photo']['tmp_name'];
	$extension 		= strtolower(substr($_FILES['photo']['name'], -3));//on récupére l'extension du nom de l'image et on met les extensions en minuscule
	$autorise_ext 	= array("jpg", "png", "gif");//les extensions autorisées dans un tableau
	
	$new_nom 		= rand();
	
	if(empty($lieu_photo) or empty($file)) {
		$erreur_info[] = "Veuillez remplir tous les champs";
	} else if (in_array($extension, $autorise_ext)) {
		move_uploaded_file($file_tmp, 'galerie_photo/'.$new_nom.'.jpg');
		$sql = "INSERT INTO tb_photo
				VALUES('', '$id_album', '$lieu_photo', '$objet_photo', '$new_nom.jpg')";
		$requete = $bdd->prepare($sql);
		$requete->execute();
		
		$success_info[] = "L'enregistrement c'est bien effectué";
	} else {
		$erreur_info[] = "Votre fichier n'est pas une image";
	}
}
A voir également:

3 réponses

hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
22 juin 2015 à 12:37
Bonjour,

Il me semble que vous pouvez trouvez votre bonheur ici :

http://tech.novapost.fr/redimensionner-une-image-cote-client-avant-lupload.html

Cordialement,

hharchi9.
0
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
23 juin 2015 à 14:34
Bonjour,
j'ai fait un seul fichier pour redimensionner mes images, je le post si ça peut servir à quelqu'un.
Mes images sont de 300 X 300 et de 50 à 60 KO environ
if(isset($_POST['action'])) {
	
	$id_photo 		= isset($_REQUEST['id_photo']) ? $_REQUEST['id_photo'] : '';
	$rid_album 		= isset($_POST['rid_album']) ? $_POST['rid_album'] : '';
	$lieu_photo 		= isset($_POST['lieu_photo']) ? $_POST['lieu_photo'] : '';
	$objet_photo 	= isset($_POST['objet_photo']) ? $_POST['objet_photo'] : '';
	$id_album 		= isset($_REQUEST['id_album']) ? $_REQUEST['id_album'] : '';	
	
	$poidsMax		= 4000000;
	$largeurMax		= 300;
	$hauteurMax		= 300;
	$repDossier		= 'galerie_photo/';

	$file 			= $_FILES['fichier']['name'];
	$file_type 		= $_FILES['fichier']['type'];
	$file_size 		= $_FILES['fichier']['size'];
	$file_tmp 		= $_FILES['fichier']['tmp_name'];
	
	if($file_size > $poidsMax) {
		$erreur_info[] ="Fichier trop lourd (4Mo maximum)";
	} else {	
		$infosFichier		= pathinfo($file);
		$extensionUpload	= strtolower($infosFichier['extension']);
		$autoriseExt		= array('jpg', 'jpeg', 'gif', 'png');
		$newNom		= rand();
		$newNomExt		= $newNom.'.jpg';
		
		if(!in_array($extensionUpload, $autoriseExt)) {
			$erreur_info[] ="Votre fichier n'est pas une image";
		} else {	
			$infos			= getimagesize($file_tmp);
			$largeur			= $infos[0];
			$hauteur			= $infos[1];
			
			if($largeur > $largeurMax || $hauteur > $hauteurMax) {
				
				if($extensionUpload == 'jpg' || $extensionUpload == 'jpeg') {
					$objImage	= imagecreatefromjpeg($file_tmp);
				} else if($extensionUpload == 'gif') {
					$objImage	= imagecreatefromgif($file_tmp);
				} else {
					$objImage	= imagecreatefrompng($file_tmp);
				}
				
				if($largeur >= $hauteur && $largeur > $largeurMax) {
					// REDUCTION PAR LA LARGEUR
					$nouvelleLargeur		= $largeurMax;
					$reduction			= (( $largeurMax * 100) / $largeur );
					$nouvelleHauteur		= (( $hauteur * $reduction) / 100 );
				} else {
					// REDUCTION PAR LA HAUTEUR
					$nouvelleHauteur		= $hauteurMax;
					$reduction			= (( $hauteurMax * 100) / $hauteur );
					$nouvelleLargeur		= (( $largeur * $reduction) / 100 );
				}
				$nouvelleImage = imagecreatetruecolor($nouvelleLargeur, $nouvelleHauteur);
				
				if($extensionUpload == 'png') {
					//Fond transparent (pour les png avec transparence)
					imagesavealpha($nouvelleImage, true);
					$trans_color = imagecolorallocatealpha($nouvelleImage, 0, 0, 0, 127);
					imagefill($nouvelleImage, 0, 0, $trans_color);
				}
				imagecopyresampled($nouvelleImage, $objImage, 0, 0, 0, 0, $nouvelleLargeur, $nouvelleHauteur, $largeur, $hauteur);
				imagedestroy($objImage);
				
				if($extensionUpload == 'jpg' || $extensionUpload == 'jpeg') {
					imagejpeg($nouvelleImage, $repDossier.$newNomExt, 100);
				} else if($extensionUpload == 'gif') {
					imagegif($nouvelleImage, $repDossier.$newNomExt);
				} else {
					imagepng($nouvelleImage, $repDossier.$newNomExt, 9);
				}
			} else {
				move_uploaded_file($file_tmp, $newNomExt);
			}
			
			$sql = "INSERT INTO tb_photo
					VALUES('', '$id_album', '$lieu_photo', '$objet_photo', '$newNomExt')";
			$requete = $bdd->prepare($sql);
			$requete->execute();
			$success_info[] = "L'enregistrement c'est bien effectué";
		}
	}
}

Merci à vous
0
papyclic Messages postés 446 Date d'inscription mercredi 5 novembre 2014 Statut Membre Dernière intervention 18 octobre 2016 3
23 juin 2015 à 16:41
Bonjour
Mes photos sont un peu petite à 50 KO pour les visualiser c'est pas terrible. Alors j'ai augmenté mes largeurMax et hauteurMax,
donc je Upload 1 photo de 2 MO elles sont redimensionner à environ 200 KO vous en pensez-quoi.
Merci de votre retour.
0