Upload Fichier
Résolu
adama3636
Messages postés
67
Date d'inscription
Statut
Membre
Dernière intervention
-
H0gS Messages postés 266 Date d'inscription Statut Contributeur Dernière intervention -
H0gS Messages postés 266 Date d'inscription Statut Contributeur Dernière intervention -
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;
}
}
?>
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;
}
}
?>
A voir également:
- Upload Fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
6 réponses
$_FILES['avatar'] n'existe pas parce que tu n'as pas mis enctype="multipart/form-data" sur la balise <form>
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
@+
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.
@+