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

PHP & Base de données Discussion :

Limiter le poids d'une image envoyée dans un formulaire


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 44
    Points
    44
    Par défaut Limiter le poids d'une image envoyée dans un formulaire
    Bonjour

    Afin de limiter le poids d'une image envoyée via un formulaire, j'avais commencé une boucle en javascript , mais il n'est pas possible en javascript de connaitre le poids d'un fichier en local . Alors je souhaiterais le faire en php de façon à ce que l'image parte bien dans la base MySql sans être trop volumineuse. Mais je ne sais pas comment faire

    Voici mon "vieux" code en javascript juste pour info :


    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
    function check() {
    	var msg = ""; 
     
    if (document.formulaire.fic.value <550000)	{
    		msg += "Le poids de la photo trop important\n";
    		document.formulaire.fic.style.backgroundColor = "DE2A49";
    	}    
     
     
    	if (msg == "") return(true);
    	else	{
    		alert(msg);
    		return(false);
    	}
    }
     <form  name="formulaire" enctype="multipart/form-data" action="transfert.php" method="post" onSubmit="return check();">
        <input type="hidden" name="MAX_FILE_SIZE" value="550000" />
     <input name="fic" type="file" id="photo">
    <input type="submit" name="Submit" value="Envoyer" > 
      </form>
    Si quelqu'un pouvait m'aider à limiter le poids de cette image en Php svp.
    Merci
    Yann

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="MAX_FILE_SIZE" value="550000" />
    Ben tu as déjà fait presque tout ce qui est possible en PHP pour limiter la taille d'un fichier uploadé
    Si $_FILES['pic']['error'] vaut 2 alors la taille du MAX_FILE_SIZE a été dépassé.
    S'il vaut 1 alors c'est celle spécifié dans le php.ini qui a été dépassée.
    Plus d'infos : http://fr.php.net/manual/en/features...oad.errors.php

    Cependant sachant que MAX_FILE_SIZE est facilement falsifiable rien ne vaut un filesize( ) sur le fichier uploadé.

    Tu peux aussi jouer sur le paramètre max_input_time du php.ini, mais ça risque d'être gênant pour ceux qui ont un débit faiblard en upload.

    je souhaiterais le faire en php de façon à ce que l'image parte bien dans la base MySql sans être trop volumineuse.
    Tu stockes l'image directement dans la BdD ? Si oui sache que MySQL n'est pas vraiment fait pour cela, mieux vaut y stocker une référence vers le fichier hébergé.

  3. #3
    Membre éclairé Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Points : 746
    Points
    746
    Par défaut
    Bonjour j'ai bien mis la balise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="MAX_FILE_SIZE" value="10000" />
    et à la soumissiondu fomulaire dans la page traitement.php ,
    $_FILES['pic']['error'] =0 , alors que j'ai testé avec une image de poids supérieur à la limitation.

    A votre avis à quoi est-ce dû ?

    Merci

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    le champs est bien avant le champs file ?

Discussions similaires

  1. recuper l'url d'une image uploder dans un formulaire
    Par japhettchabao dans le forum Langage
    Réponses: 19
    Dernier message: 12/09/2014, 17h58
  2. Insérer une image envoyée dans ma base de données
    Par scary02 dans le forum Langage
    Réponses: 11
    Dernier message: 12/07/2013, 12h41
  3. [AC-2010] Insertion d'une image variable dans un formulaire
    Par Harry Covair dans le forum IHM
    Réponses: 1
    Dernier message: 04/12/2011, 00h53
  4. Limiter le poids d'une image
    Par mickado dans le forum Langage
    Réponses: 3
    Dernier message: 20/06/2007, 10h44
  5. comment afficher une image animée dans un formulaire
    Par dadamovic dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/05/2006, 19h59

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