Bonjour,

Je souhaite réaliser un petit site en php qui permet d'uploader des fichiers (word, pdf, open office) depuis un formulaire vers un dossier de mon hébergement.

Voici le code que j'utilise :

-> pour le formulaire
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<form method="POST" action="upload.php" enctype="multipart/form-data"> 
<!-- On limite le fichier à 100Ko --> 
<input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
Fichier : <input type="file" name="avatar"> 
<input type="submit" name="envoyer" value="Envoyer le fichier"> 
</form>

-> pour l'interprétation du formulaire
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php 
$dossier = '../rapportdestage/rapport'; 
$fichier = basename($_FILES['avatar']['name']); 
$taille_maxi = 100000; 
$taille = filesize($_FILES['avatar']['tmp_name']); 
$extensions = array('png', 'gif', 'jpg', 'jpeg'); 
$extension = strrchr($_FILES['avatar']['name'], '.'); 
//Début des vérifications de sécurité... 
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau 
{ 
$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...'; 
} 
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['avatar']['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 !'; 
} 
} 
else 
{ 
echo $erreur; 
} 
?>

Mon code ne fonctionne pas, en effet, j'ai toujours des erreurs prévues par le code. Ex : le format de fichier n'est pas le bon...

Je ne vois pas ou se trouvent mes erreurs.

Merci

Moi59