PHP controler la taille d'une image avant upload

Résolu
Bonjour,

Je voudrais contrôler la taille d'une image avant son upload (message d'erreur si besoin).

<input type="hidden" name="MAX_FILE_SIZE" value="200000" />
<input type="file" name="logo_P1" id="logo_P1" />
<input type="text" name="site1" value="1-Intitulé ou Site" id="titre1" onfocus="value=''">

Je sais qu'il y a moyen de contrôler lors de l'upload, mais dans ce cas, je perds tout un cheminement dans mon process.

Y a t il une solution?

Merci d'avance



--
Habitué du "je sais pas pourquoi ca marche" et du "pourquoi ca marche pas?"

1 réponse

  1. Tu vas trouver ton bonheur dans ce bout de code, il controle la taille du fichier et son extension avant l'upload, je l'utilise toujours et il marche très bien;
    bon courage :)

    <?php

    if((isset($_FILES['fichier'])) && ($_FILES['fichier']['name']!="")) {
    echo 'isset'.$_FILES['fichier']['name'];
    $dossier = 'upload/';
    $fichier = basename($_FILES['fichier']['name']);
    $taille_maxi = 2000000;
    $taille = filesize($_FILES['fichier']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.pdf', '.doc', '.docx', '.xls', '.xlsx');
    $extension = strrchr($_FILES['fichier']['name'], '.');
    //Début des vérifications de sécurité...
    //Si l'extension n'est pas dans le tableau
    if(!in_array($extension, $extensions)){
    $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    if($taille>$taille_maxi){
    $erreur = 'Le fichier est trop gros...';
    }
    //S'il n'y a pas d'erreur, on upload
    if(!isset($erreur)){
    //On formate le nom du fichier ici...
    echo 'non erreur';
    $fichier = strtr($fichier,
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier . $fichier)) {
    echo "Upload réussi"
    }
    //Sinon (la fonction renvoie FALSE).
    else{
    echo 'Echec de l\'upload '.$erreur;
    }
    }
    }

    ?>
    3
    1. Je te remercie pour ta contribution... Demain j'adapte ton code.
      Cordialement
      0
    2. Inchaalah,
      Si tu ne comprends pas quelque chose dans le code, je peux te l'expliquer et ca sera avec plaisir

      Bonne journée
      0

Discussions similaires

question pix mot caché

7 réponses