IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Redimensionnement images en upload coté serveur


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Femme Profil pro
    Webdesigner
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Redimensionnement images en upload coté serveur
    Bonjour,

    Je souhaiterai avoir de l'aide pour mettre en place un redimensionnement automatique des images en upload coté serveur, pour ne pas avoir de soucis de taille d'image mise par le client.
    J'aimerai optimiser les images pour une bonne gestion d'affichage et de temps d'upload.
    Mais je ne sais pas trop comment m'y prendre, j'ai vu qu'avec "canvas" cela était possible, mais je n'y comprend pas grand chose (trop compliqué pour une débutante comme moi...).

    Si une ou plusieurs bonnes âmes veulent bien m'aider je vous en remercie d'avance
    Voila mon code qui permet d'uploader les images dans des billets (commentaire + images) pour un blog.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    function enleveAccents($string){
    	return strtr($string,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ -',
    'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY__');
    }
     
    if(isset($_POST['ajout_billet'])){
    	$titre_billet = addslashes($_POST['titre_billet']);
    	$date_billet =  date('Y-m-d');
    	$commentaire_billet =  addslashes($_POST['commentaire_billet']);
    	$blog_id = $_POST['blog_id'];
     
    	if($blog_id != ''){
    		$connexion -> exec("INSERT INTO billets VALUES(NULL, '$titre_billet', '$date_billet', '$commentaire_billet', '$blog_id')");
     
    		$billet_id = $connexion->lastInsertId();
     
    		mkdir("photos/".$blog_id."/".$billet_id);
     
    		foreach($_FILES['photos_billet']['name'] as $i=>$image){
    			$temporaire = enleveAccents($_FILES['photos_billet']['tmp_name'][$i]);
    			$chemin = 'photos/'.$blog_id.'/'.$billet_id.'/';
    			$photo = $image;
    			move_uploaded_file($temporaire,$chemin.$image);
     
    			$connexion -> exec("INSERT INTO photos VALUES(NULL, '$billet_id', '$photo')");
    		}
    		header("Location: ../../admin/liste_billets_blog.php?id_blog=".$blog_id);
    	}
    }
    PS : C'est la première fois que je demande de l'aide sur un forum, j'espere avoir posté au bon endroit

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le dalmatien a écrit une classe pour la gestion des redimensionnement :
    http://j-reaux.developpez.com/tutori...sionner-image/

    Par contre en temps d'upload, cela ne change rien puisque le redimensionnement est fait après l'upload.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Pour aller plus vite, tu peux utiliser une des classes d'upload suivantes :
    - une solution 100% php ici
    - une solution plus puissante en ajax/php avec retour d'informations en temps réel, prévisualisation des images et qui permet de surpasser les configurations serveur ici.
    Les deux sont fournies dans un dossier de test prêt à l'emploi et permettent le redimensionnement d'images lors de l'upload (ainsi que le multi upload si besoin).

    Concernant "canvas", la qualité des redimensionnements par défaut n'est pas convaincante. Il faut bidouiller pas mal pour avoir une bonne qualité et dans ce cas cela fait ramer grave le navigateur. Cela peut poser des problèmes pour des ordinateurs peu puissants. Aussi pour avoir une solution viable et de bonne qualité pour tout le monde je préfère faire travailler le serveur et utiliser la bibliothèque GD de php (comme le font les classes ci-dessus).

  4. #4
    Candidat au Club
    Femme Profil pro
    Webdesigner
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci pour ces réponses, je vais regarder tout ça.

    ABCIWEB, merci pour l'info sur "canvas", surtout que l'ordi qu'utilise le client n'est pas de toute jeunesse.
    Il faut aussi que je vois si la bibliothèque GD est bien active coté client.

    Je reviendrai pour dire si j'ai réussi à mettre en place le redimensionnement très prochainement !

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    La bibliothèque GD est activée chez tous les hébergements entrée de gamme que j'ai pu tester et j'ai jamais lu de message dans les forums qui constatait le contraire pour un hébergement donc cela ne devrait pas poser de problème. De même elle est activée par défaut sur les configurations de tests en local comme easyphp ou wamp.

  6. #6
    Candidat au Club
    Femme Profil pro
    Webdesigner
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bon alors, je me sent très bête car je ne comprend pas bien comment adapter tout ça au code déjà existant (qui n'est hélas pas orienté objet).
    L'utilisation des classes parait très pratique effectivement, mais comporte pleins d'options, alors que je souhaiterai juste que les images soit redimensionnées et si possible qu'elle remplace directement les images trop lourdes uploadées.
    Tout cela me parait compliqué... désolé pas assez d'expérience en php pour que les choses simple me sautent aux yeux (c'est pas faute de regarder le code en détail, promis)

Discussions similaires

  1. Redimensionnement image après upload
    Par thomix68 dans le forum Langage
    Réponses: 7
    Dernier message: 22/10/2010, 16h36
  2. Redimensionnement image et upload
    Par toufou dans le forum jQuery
    Réponses: 8
    Dernier message: 08/07/2010, 14h56
  3. [Upload] Redimensionner image avant upload
    Par spawns dans le forum Langage
    Réponses: 3
    Dernier message: 08/05/2009, 10h16
  4. Redimensionner image pendant upload
    Par david2511 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 03/02/2009, 12h17
  5. [Upload] Redimensionner image après upload
    Par leroidje dans le forum Langage
    Réponses: 3
    Dernier message: 21/11/2008, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo