Formulaire d'upload de fichier
Bonjour a tous
J ai tente de realiser un formulaire d upload en me basan sur des tutos
voici mes pages:
upload.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<form method="post" action="reception.php?metier=<?php echo $_GET[metier] ?>" enctype="multipart/form-data">
<label for="mon_fichier">Fichier (Format jpg | max. 1Mo):</label><br />
<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
<input type="file" name="mon_fichier" id="mon_fichier" /><br />
<label for="titre">Titre du fichier (max 50 caractères):</label><br />
<input type="text" name="titre" value="<?php echo $_GET[metier]; ?>" id="titre" /><br />
<label for="description">Description de votre photo (max 255 caractères):</label><br />
<textarea name="description" id="description"></textarea><br />
<input type="submit" name="submit" value="Envoyer" />
</form>
</body>
</html> |
et reception.php
Code:
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 38 39 40 41 42 43 44 45 46 47
| <?php
echo "nom du fichier : ";
echo $_FILES['icone']['name']; //Le nom original du fichier, comme sur le disque du visiteur, (exemple: mon_icone.png).
echo '<br/>';
echo "type du fichier : ";
echo $_FILES['icone']['type']; //Le type du fichier. Par exemple, cela peut être "image/png"
echo '<br/>';
echo " taille du fichier en octets : ";
echo $_FILES['icone']['size']; //La taille du fichier en octets
echo '<br/>';
echo 'adresse du fichier uploade : ';
echo $_FILES['icone']['tmp_name']; //L'adresse vers le fichier uploadé dans le répertoire temporaire
echo '<br/>';
echo "code erreur : ";
echo $_FILES['icone']['error']; //Le code d'erreur, qui permet de savoir si le fichier a bien été uploadé
?>
<?php
echo '<br/>';
if ($_FILES['icone']['error'] > 0) echo "Erreur lors du tranfsert";
else
{
echo "Transfert OK";
echo '<br/>';
$extensions_valides = array( 'jpg' , 'jpeg');
//1. strrchr renvoie l'extension avec le .
//2. substr(chaine,1) ignore le premier caractère de chaine
//3. strtolower met l'extension en minuscule
$extension_upload = strtolower( substr( strrchr($_FILES['icone']['name'], '.') ,1) );
if ( in_array($extension_upload,$extensions_valides) ) echo "Extension correcte";
else
{
echo "Mauvaise extension";
echo $extension_upload;
echo '<br/>';
}
?>
<?php /*
$image_sizes = getimagesize($_FILES['icone']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) $erreur = "Image trop grande";
*/ ?>
<?php
$nom = "metiers/$_GET[metier].{$extension_upload}";
$resultat = move_uploaded_file($_FILES['icone']['tmp_name'],$nom);
if ($resultat) echo "Transfert réussi";
else echo "ERREUR TRANSFERT";
}
?> |
Le probleme c est que ca ne marche pas , rien n apparait sur ma page reception .php ni nom du fichier rien en fait ,
Le tableau $_FILES est vide...
du coup ca fait ERREUR TRANSFERT si quelqu un pouvait venir a mon secours