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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    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 confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    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 322
    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 très actif 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
    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 confirmé

    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
    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, 16h58
  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, 11h41
  3. [AC-2010] Insertion d'une image variable dans un formulaire
    Par Harry Covair dans le forum IHM
    Réponses: 1
    Dernier message: 03/12/2011, 23h53
  4. Limiter le poids d'une image
    Par mickado dans le forum Langage
    Réponses: 3
    Dernier message: 20/06/2007, 09h44
  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, 18h59

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