Site upload

Profil bloqué -  
 Profil bloqué -
Bonjour,

j'ai un éxposé a faire et j'aimerais coder un script d'upload FAILLIBLE (qui ne vérifie pas les extensions)

voila mes script
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

  
  
 <form method="post" action="faille_upload2.php" enctype="multipart/form-data"> 
     <label for="icone">Icône du fichier (JPG, PNG ou GIF | max. 15 Ko) :</label><br /> 
     <input type="file" name="icone" id="icone" /><br /> 
     <label for="titre">Titre du fichier (max. 50 caractères) :</label><br /> 
     <input type="text" name="titre" value="Titre du fichier" id="titre" /><br /> 
     <label for="description">Description de votre fichier (max. 255 caractères) :</label><br /> 
     <textarea name="description" id="description"></textarea><br /> 
     <input type="submit" name="submit" value="Envoyer" /> 
</form>



et
<?php 
$_FILES['icone']['name']     //Le nom original du fichier, comme sur le disque du visiteur (exemple : mon_icone.png). 
$_FILES['icone']['type']     //Le type du fichier. Par exemple, cela peut être « image/png ». 
$_FILES['icone']['size']     //La taille du fichier en octets. 
$_FILES['icone']['tmp_name'] //L'adresse vers le fichier uploadé dans le répertoire temporaire. 
$_FILES['icone']['error']    //Le code d'erreur, qui permet de savoir si le fichier a bien été uploadé. 
?> 

<?php 
if ($_FILES['icone']['error'] > 0) $erreur = "Erreur lors du transfert"; 
?> 

<?php 
if ($_FILES['icone']['size'] > $maxsize) $erreur = "Le fichier est trop gros"; 
?> 



<?php 
//Créer un dossier 'fichiers/1/' 
  mkdir('fichier/1/', 0777, true); 
  
//Créer un identifiant difficile à deviner 
  $noma = md5(uniqid(rand(), true)); 
?> 


<?php 
$nom = "avatars/{$noma}.{$extension_upload}"; 
$resultat = move_uploaded_file($_FILES['icone']['tmp_name'],$nom); 
if ($resultat) echo "Transfert réussi"; 
?>



mais sa ne marche pas pourquoi ? (il n'y que les deux fichiers sur le site)
A voir également:

2 réponses

Profil bloqué
 
un code complet pour faire l'upload et le traitement sur la même page ;)
-------------------------------------------------
<form method="post" enctype="multipart/form-data" action="">
<input type="file" name="fichier" size="30">
<input type="submit" name="upload" value="Uploader">
</form>
<?php
// 1
if( isset($_POST['upload']) )
{
$content_dir ='upload/';

// 2
if( !is_uploaded_file($_FILES['fichier']['tmp_name']) )
{
exit("Le fichier est introuvable");
}

// 3
if( !move_uploaded_file($_FILES['fichier']['tmp_name'], $content_dir . $_FILES['fichier']['name']) )
{
exit("Impossible de copier le fichier dans $content_dir");
}

echo "Le fichier a bien été uploadé";
}
?>
</body>
1
Utilisateur anonyme
 
Le premier paragraphe ne sert à rien, tu peux l'enlever.
Ensuite tu utilises $extension_upload sans le definir.
Il faut aussi que le répertoire avatar soir présent sur ton serveur.
Tu créés un répertoires fichier/1/ mais tu ne t'en sers pas.
0