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

JavaScript Discussion :

Reduction des images pour telechargement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut Reduction des images pour telechargement
    **** JE me suis planté de forum, milles pardon, cela devrait être dans le forum PHP ****



    Bonjour chers membres du forum,

    Je cherche a telecharger des images sur mon serveur via un script PHP.

    Mon script a ctuel le fait trés bien sauf qu'il se limite aux GIF, PNG et JPG...

    J'aurai voulu que quelques soient les extentions, il puisse reduire l'imgae et l'enregistrer sous la forme d'un JPG, s'il vous plait.

    Voici mon code :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
     
    // on récupère les infos du fichier à uploader
    $fichier_temp = $_FILES['fichier_upload_'.$nbr]['tmp_name'];
    $fichier_nom = $_FILES['fichier_upload_'.$nbr]['name'];
     
    // on défini les dimensions et le type du fichier
    list($fichier_larg, $fichier_haut, $fichier_type, $fichier_attr)=getimagesize($fichier_temp);
     
    // infos de contrôle du fichier
    $fichier_poids_max = 2000000;
    $fichier_h_max = 1224;
    $fichier_l_max = 1632;
     
    // dossier de destination
    $fichier_dossier = "photo/";
     
    // extension du fichier
    $fichier_ext = substr($fichier_nom,strrpos( $fichier_nom, '.')+1);
     
    // on renomme le fichier
    $fichier_date = date("ymdhis");
    $fichier_n_nom = $mb."_".$fichier_date."_".$fichier_nom;
     
    	// on vérifie s'il y a bien un fichier à uploader
    	if (!empty($fichier_temp) && is_uploaded_file($fichier_temp)) {
     
    		// on vérifie le poids du fichier
    		if (filesize($fichier_temp)<$fichier_poids_max) {
     
    			// types de fichiers autorises 1=gif / 2=jpg / 3=png
    			if (($fichier_type===1) || ($fichier_type===2) || ($fichier_type===3)) {
     
    				// on vérifie si l'image n'est pas trop grande
    				if (($fichier_larg<=$fichier_l_max) && ($fichier_haut<=$fichier_h_max)) {
     
    					// si le fichier est ok, on l'upload sur le serveur
    					if (move_uploaded_file($fichier_temp, $fichier_dossier.$fichier_n_nom)) {
     
    						// on donne un acces total sur le fichier
    						//chmod ($fichier_dossier.$fichier_n_nom, 0777);
    																/***********************
    							création de la miniature
    							***********************/
     
    				// dimension maximale largeur et hauteur comprise
    				$taille_maxG = 550;
     
    				// si le fichier est plus grand que $taille_max on le miniaturise
    				if ($fichier_haut > $taille_maxG) {
    				$mini_hautG = $taille_maxG;
    				$mini_largG = $fichier_larg / ($fichier_haut / $taille_maxG);
     
    				// si le fichier est un .gif
    				if ($fichier_type === 1){
    				// definition de l'image dont on va faire une miniature
    				$fichier_sourceG = imagecreatefromgif($fichier_dossier.$fichier_n_nom);
    				// on prépare le fichier miniature qui accueillera l'image réduite
    				$fichier_reduitG = imagecreate($mini_largG, $mini_hautG);
    				// fond blanc pour l'image
    				$fond_blanc = imagecolorallocate($fichier_reduitG, 255, 255, 255);
    				// dimensions x et y à donner au fichier
    				$fichier_larg_redG = imagesx($fichier_reduitG);
    				$fichier_haut_redG = imagesy($fichier_reduitG);
    				// on rajoute un mini_ defant le nom du fichier
    				$nom_fichier_reduitG = $fichier_n_nom;
    				// on redimensionne l'image de base dans le fichier $fichier_reduit
    				imagecopyresampled($fichier_reduitG, $fichier_sourceG, 0, 0, 0, 0, $fichier_larg_redG, $fichier_haut_redG, $fichier_larg, $fichier_haut);
    				// on rend transparent le fond blanc
    				imagecolortransparent($fichier_reduitG, $fond_blanc);
    				// crée le fichier réduit définitif
    				imagegif($fichier_reduitG, $fichier_dossier.$nom_fichier_reduitG);
    				// on donne un acces total sur le fichier
    				chmod($fichier_dossier.$nom_fichier_reduitG, 0777);}
     
     
    				// si le fichier est un .jpg / .jpeg
    				if ($fichier_type===2){
    				// définition de la qualité
    				$qualite=80;
    				// definition de l'image dont on va faire une miniature
    				$fichier_sourceG = imagecreatefromjpeg($fichier_dossier.$fichier_n_nom);
    				// on prépare le fichier miniature qui accueillera l'image réduite	
    				$fichier_reduitG = imagecreatetruecolor($mini_largG, $mini_hautG);
    				// dimensions x et y à donner au fichier
    				$fichier_larg_redG = imagesx($fichier_reduitG);
    				$fichier_haut_redG = imagesy($fichier_reduitG);
    				// on rajoute un mini_ defant le nom du fichier
    				$nom_fichier_reduitG = $fichier_n_nom;
    				// on redimensionne l'image de base dans le fichier $fichier_reduit
    				imagecopyresampled($fichier_reduitG, $fichier_sourceG, 0, 0, 0, 0, $fichier_larg_redG, $fichier_haut_redG, $fichier_larg, $fichier_haut);
    				// crée le fichier réduit définitif
    				imagejpeg($fichier_reduitG, $fichier_dossier.$nom_fichier_reduitG, $qualite);
    				// on donne un acces total sur le fichier
    				chmod($fichier_dossier.$nom_fichier_reduitG, 0777);}
     
    				// si le fichier est un .png
    				if ($fichier_type===3){
    				// definition de l'image dont on va faire une miniature
    				$fichier_sourceG = imagecreatefrompng($fichier_dossier.$fichier_n_nom);
    				// on prépare le fichier miniature qui accueillera l'image réduite
    				$fichier_reduitG = imagecreatetruecolor($mini_largG, $mini_hautG);
    				// dimensions x et y à donner au fichier
    				$fichier_larg_redG = imagesx($fichier_reduitG);
    				$fichier_haut_redG = imagesy($fichier_reduitG);
    				// on rajoute un mini_ defant le nom du fichier
    				$nom_fichier_reduitG = $fichier_n_nom;
    				// on redimensionne l'image de base dans le fichier $fichier_reduit
    				imagecopyresampled($fichier_reduitG, $fichier_sourceG, 0, 0, 0, 0, $fichier_larg_redG, $fichier_haut_redG, $fichier_larg, $fichier_haut);
    				// crée le fichier réduit définitif
    				imagepng($fichier_reduitG, $fichier_dossier.$nom_fichier_reduitG);
    				// on donne un acces total sur le fichier
    				chmod($fichier_dossier.$nom_fichier_reduitG, 0777);}
     
     
    				}
    				else {$nom_fichier_reduitG = $fichier_n_nom;}
     
    etc.....

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    totalement hors de la portée de javascript.
    Tu seras obligé d'uploader l'image et de la traiter sur le serveur.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/09/2007, 10h46
  2. [Access/C#] Comment en importer des images pour affichage ?
    Par don_hakim dans le forum Accès aux données
    Réponses: 1
    Dernier message: 26/08/2006, 09h24
  3. [VB6]Superposer des images pour en faire qu'une seule
    Par spikto dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/08/2006, 14h49
  4. Résolution des images pour les jeux vidéos
    Par YuGiOhJCJ dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 04/04/2006, 12h24
  5. [Traitement d'image] Où trouver des images pour illustrer mon site ?
    Par langela94 dans le forum Webdesign & Ergonomie
    Réponses: 4
    Dernier message: 24/01/2006, 17h44

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