PHP controler la taille d'une image avant upload

Résolu
guy2mars Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   -  
asmaanoor Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -
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



A voir également:

1 réponse

asmaanoor Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   18
 
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
guy2mars Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   71
 
Je te remercie pour ta contribution... Demain j'adapte ton code.
Cordialement
0
asmaanoor Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   18
 
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