Uploder des fichiers

Résolu
Bonjour
J'ai un formulaire avec 2 champs de types text et 1 champ de type FILES.
Je n'arrive pas à comprendre pourquoi lorsque je upload un fichier d'une taille plus petit que 1 MO cela me retourne la condition $erreur = "<span class='erreur'>Le fichier envoyer est trop volumineux !</span>";
Je vous remercie pour votre aide.
if (!empty ($_POST['envoyer'])) {
	if (!empty($tmess) AND !empty($mess) || $_FILES['upload_file']['name'] == NULL) {
		
	$file_name = $_FILES['upload_file']['name'];
	$file_tmp_name = $_FILES['upload_file']['tmp_name'];
	$file_extension = strrchr($file_name, ".");
	$extensions_autorisees = array('.pdf', '.PDF');
	$taille_maxi = 1000000;
	$taille = filesize($_FILES['upload_file']['tmp_name']);
	$file_dest = 'uploads/'.$file_name;
	
	if (in_array($file_extension, $extensions_autorisees) || $_FILES['upload_file']['name'] == NULL) {
	if (($taille > $taille_maxi) || $_FILES['upload_file']['name'] == NULL) {
	if (move_uploaded_file($file_tmp_name, $file_dest) || $_FILES['upload_file']['name'] == NULL) {
	$success = "<span class='success'>Message envoyé avec succès !</span>";
} else {
	$erreur = "<span class='erreur'>Une erreur est survenue lors de l'envoie du fichier !</span>";
}
					
} else {
	$erreur = "<span class='erreur'>Le fichier envoyer est trop volumineux !</span>";
}
				
} else {
	$erreur = "<span class='erreur'>Seul les fichiers PDF sont autorisés !</span>";
}
				
} else $erreur = "<span class='erreur'>Renseigne le Titre et le Message !</span>";
} else $erreur = "<span class='erreur'>Tu n'as pas sélectionné de membres !</span>";

mon formulaire je vous met uniquement le champ de type FILES
		<form method="post" name="env" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
			
			<table class="resp" border="0" cellspacing="1" cellpadding="5">
				<tr>
					<p>
	Fichier autoriser (PDF seulement) 1 MO maximum :</br></br>
	<input type="hidden" name="MAX_FILE_SIZE" value="1000000"/>
	<input type="file" name="upload_file" id="upload_file"/>
					</p>
				</tr>

4 réponses

  1. Modérateur
    Bonjour,

    $file = !empty($_FILES['upload_file']) ? $_FILES['upload_file'] : NULL;
    $envoyer = !empty($_POST['envoyer']) ? $_POST['envoyer'] : NULL;
    
    $taille_maxi = 1000000;
    $file_dest = 'uploads/'.$file_name;
    
    if ($envoyer) {
    	if ($tmess && $mess && $file) {
        $file_name = $file['name'];
        $file_tmp_name = $file['tmp_name'];
        $file_extension = strrchr($file_name, ".");
    	$extensions_autorisees = array('.pdf', '.PDF');
    	$taille = filesize($file['tmp_name']);
    	
            if (in_array($file_extension, $extensions_autorisees) ) {
                if ( $taille > $taille_maxi ) {
                    if (move_uploaded_file($file_tmp_name, $file_dest)) {
                        $success = "<span class='success'>Message envoyé avec succès !</span>";
                    } else {
                        $erreur = "<span class='erreur'>Une erreur est survenue lors de l'envoie du fichier !</span>";
                    }
                } else {
                    $erreur = "<span class='erreur'>Le fichier envoyer est trop volumineux !</span>";
                }
            } else {
                $erreur = "<span class='erreur'>Seuls les fichiers PDF sont autorisés !</span>";
            }
        } else {
           $erreur = "<span class='erreur'>Renseigne le Titre et le Message !</span>";
        }
    }
    
    

    1. Bonjour
      J'ai envoyé un fichier PDF d'un taille de 39002 octets et ça me renvoie à cettte erreur....
      $erreur = "<span class='erreur'>Une erreur est survenue lors de l'envoie du fichier !</span>";
      Et je veux également laisser la possibilité aux membres d'envoyer le message sans pièce jointe.
      Merci
      1. Bonjour,
        En fait je t'avais répondu, je débute et avec toutes les fonctions j'ai un peu du mal je préfére pour l'instant rester sur des pages dites "traditionnelle".