Upload images

Fermé
bibal123 Messages postés 1 Date d'inscription jeudi 11 octobre 2012 Statut Membre Dernière intervention 11 octobre 2012 - 11 oct. 2012 à 14:54
 Utilisateur anonyme - 11 oct. 2012 à 16:07
Bonjour,


je suis bleu en php j'aimerais enregister puis afficher une image de profil a partir d'un formulaire mon code est le suivant :

html:
<form action="register.php" method="post" enctype="multipart/form-data" >

<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
<input type="file" name='photo' id="photo" >



puis le php est :
$dossier = 'upload/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['photo']['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['photo']['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;


pour afficher
<img src="<?php echo $_SESSION['photo']; ?>" alt="" id="photo"/>



je ny arrive pas l'imache affiche est une petite icone brisee please help me!!!!!
ou si quelqu'un aurais un autre tuto sympas pour moi

1 réponse

Utilisateur anonyme
11 oct. 2012 à 16:07
Salut

A aucun moment je n'ai lu de $_SESSION['photo'] dans ton code d'upload.
Au moment de l'envoi, quand les tests sont ok, tu peux déclarer une session ' photo', mais elle est absente.

Attention aussi, tu vérifies l'extension du fichier, mais pas le type du fichier. Là, si un malveillant upload un fichier php avec une extension jpg, il fait ce qu'il veut...
0