Upload Fichier

Résolu
Bonjour,

j'ai un probleme pour uploader un image. d'apres moi ca devais marcher mais je ne sais pas qu'est ce qui bloque. voici le formualre et le scripte de traitement.

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

<!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=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<form name="formulaire" action="controle_testform.php" method="post">
<table>
<tr>
<td >*Nom</td><td><input name="nom" id="nom" type="text" size="50" " /></td>
</tr>
<tr>
<td>*Prénom</td><td><input name="prenom" id="prenom" type="text" size="50" /></td>
</tr>
<tr>
<td>Photo de profil</td>
<td> <input type="file" name="avatar"></td><tr><td> <input type="submit" value="send" name="send" id="send" /></td></tr>
</tr></table>
</form>
</body>
</html>

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

<?php
if(isset($_POST['send']))
{
function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}

srand(make_seed());
$randval = rand();
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$name_file = $randval.$prenom.$nom ;

$taille_maxi = 1000000;
$fichier_name = basename($_FILES['avatar']['name']);
$taille = filesize($_FILES['avatar']['tmp_name']);
$infos_img = getimagesize($_FILES['avatar']['tmp_name']);
$extensions = array('.jpg','.jpeg','.gif','.png'); //definition des extensions acceptées
$extension = strrchr($_FILES['avatar']['name'], '.');

//Gestion des erreurs
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type .jpg,.gif ou .png';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop volumineux...';
}

if($infos_img[0] > 100 && $infos_img[1] >100)
{
$erreur = '<strong>les dimensions de votre images sont trop grandes . Pour rappel 100 x100 px</strong>';
}

if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{

// ici on déplace le fichier ou on veut
if (!move_uploaded_file($_FILES['avatar']['tmp_name'],'avatars/'.$name_file) )
{
echo "Erreur, contactez l'administrateur...";
}
else
{
echo "Fichier ".$name_file." ajouté";
echo "<br><br>Pour afficher votre image dans une page, inserez le code suivant : <b>((/img/".$name_file."))</b>";
}
}
else
{
echo $erreur;
}
}

?>
Configuration: vista premium
Internnet explorer 7

6 réponses

  1. Notice: Undefined index: avatar in F:\EasyPHP5.3.0\www\projet site web\controle_testform.php on line 17

    Notice: Undefined index: avatar in F:\EasyPHP5.3.0\www\projet site web\controle_testform.php on line 18

    Notice: Undefined index: avatar in F:\EasyPHP5.3.0\www\projet site web\controle_testform.php on line 19

    Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in F:\EasyPHP5.3.0\www\projet site web\controle_testform.php on line 19

    Notice: Undefined index: avatar in F:\EasyPHP5.3.0\www\projet site web\controle_testform.php on line 21
    Vous devez uploader un fichier de type .jpg,.gif ou .png
    1. $_FILES['avatar'] n'existe pas parce que tu n'as pas mis enctype="multipart/form-data" sur la balise <form>
      1. ok merci ca passe ! mais jarrive pas a avoir l'image dans le dossier avatar/
        1. Contributeur
          Bonjour à vous,

          Cette discussion a été signalé comme étant Résolu. Pourtant, après avoir lu la discussion, je constate que le problème n'a toujours pas été réglé.

          Je vais attendre qu'adama3636 me confirme que tout est bel et bien réglé avant de modifier le statut de cette discussion pour Résolu.

          Merci de votre compréhension.
          @+