Salut,
Je suis en train de faire un script pour uploader des fichiers.
Voici le code
Code :
- if(isset($_POST['envoyer']))
- {
- $dossier = 'upload/';
- $fichier = basename($_FILES['fichier']['name']);
- $taille_maxi = 2000000;
- $taille = filesize($_FILES['fichier']['tmp_name']);
- echo 'taille : '.$taille;
- if($taille>$taille_maxi)
- {
- $erreur = 'Le fichier est trop gros...';
- }
- if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
- {
- //On formate le nom du fichier ici...
- $fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
- $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
- if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
- {
- echo 'Upload effectué avec succès !';
- }
- else //Sinon (la fonction renvoie FALSE).
- {
- echo 'Echec de l\'upload !<br/>';
- }
- }
- else
- {
- echo $erreur;
- }
- }
- else
- {
- echo '<form method="POST" action="upload.php" enctype="multipart/form-data">';
- echo 'Fichier (taille max : 2Mo) : <input type="file" name="fichier"><br/>';
- echo '<input type="submit" name="envoyer" value="Envoyer le fichier">';
- echo '</form>';
- }
|
Lorsque je met un fichier qui fait moins que 2Mo c'est nikel.
Mais lorsque je met un fichier plus gros que 2Mo, ca m'affiche "echec de l'upload" alors que normalement ca devrais m'afficher le message d'erreur "Le fichier est trop gros ...".
Et alors quand je met un très gros fichier (>9Mo), le submit est meme pas pris en compte et ca me remet direct sur le formulaire (c'est meme pas traité).
Est ce que quelqu'un saurais pourquoi ca me fais ca ? Que j'ais au moins un message d'erreur quelque soit la taille.
Merci de vos réponses
Message édité par the_ourson le 20-06-2008 à 21:09:36