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 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| <form name="myform" action="javascript:document.getElementById('upload').value" method="post" >
<input onchange="document.forms['myform'].submit();" value="" type="file" name="upload" id="upload" size="30">
</form>
<?php
/*************************************/
/*** Valeurs du formulaire d'upload
/*************************************/
if( isset($_POST['upload']) )
{
// variables disponibles
$nom_photo = $_FILES['fichier']['name']; //Le nom original du fichier, comme sur le disque du visiteur, (exemple: mon_icone.png).
$extension_photo = $_FILES['fichier']['type']; //Le type du fichier. Par exemple, cela peut être "image/png"
$taille_fichier = $_FILES['fichier']['size']; //La taille du fichier en octets
$fichier_tmp = $_FILES['fichier']['tmp_name']; //L'adresse vers le fichier uploadé dans le répertoire temporaire
$erreur = $_FILES['fichier']['error']; //Le code d'erreur, qui permet de savoir si le fichier a bien été uploadé
// dossier photos
$dossier_photos = '../../photos/';
// on vérifie si le fichier temporaire est présent
if( !is_uploaded_file($fichier_tmp) )
{
exit("Le fichier est introuvable.");
}
// on vérifie l'extension
if( !strstr($extension_photo, 'jpg') and !strstr($extension_photo, 'jpeg') and !strstr($extension_photo, 'bmp') and !strstr($extension_photo, 'gif') and !strstr($extension_photo, 'png') and !strstr($extension_photo, 'tiff'))
{
exit("Les fichiers avec l'extension $extension_photo ne sont pas autorisés.");
}
// on vérifie le poid maximum de la photo (10mo)
if ($taille_fichier > 10000000)
{
exit("Votre photo est trop volumineuse, merci d'en réduire la taille.");
}
// on vérifie la taille minimum de la photo en pixels (100x100px)
$taille_photo = getimagesize($fichier_tmp);
if ($taille_photo[0] < 100 OR $taille_photo[1] < 100)
{
exit("Votre photo est trop petite, merci d'en choisir une de meilleure qualité.");
}
// On renomme le fichier puis on le copie dans le dossier de destination
$nom_photo_renomme = md5(uniqid(rand(), true)); // uniquid() Génère un identifiant unique basé sur la date et heure courante en microsecondes.
$extension_photo = strtolower(strrchr($nom_photo, '.')); //strrchr renvoie l'extension avec le point // strtolower met l'extension en minuscule
$nom_photo_renomme_avec_extension = $nom_photo_renomme . $extension_photo;
if( !move_uploaded_file($fichier_tmp, $dossier_photos . $nom_photo_renomme_avec_extension) )
{
exit("Une erreur s'est produite, impossible de copier le fichier dans $dossier_photos");
}
//Envoi en cours, merci de patienter...
$_SESSION['bouille']['photo']['boite_1']['photo_1'] = $nom_photo_renomme_avec_extension;
echo 'Votre photo a bien été envoyée.';
}
?> |
Partager