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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| if($image == 'ok')
{
//============================================
$dossier = '../'.$_SESSION["login"].'_image/';
$fichier = $_FILES['photo']['name'];
$poids_maxi = 500000; // 500.000 Octets = 1/2 MO
$poids = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.jpg', '.jpeg','JPG','JPEG');
$type_extension = strrchr($_FILES['photo']['name'], '.');
$erreur_load = 'x';
$stop = 0;
//Début des vérifications de sécurité...
// teste si un fichier est sélectionné
if($_FILES['photo']['size']<=0)
{
$erreur_load = 'Aucun fichier n\'a été sélectionné.';
$stop = 1;
}
// teste si une erreur c'est produite pendant la transfert
if($_FILES['photo']['error']>0 && $stop == 0)
{
$erreur_load = 'Erreur lors du transfert du fichier.';
$stop = 1;
}
// Vérification que le fichier est une image
if( $stop == 0)
{
$infosImg = getimagesize($_FILES['photo']['tmp_name']);
if($infosImg[2] <> 2 )
{
$erreur_load='Ce fichier n\'est pas une image';
$stop = 1;
}
}
// Vérification que le fichier n'a pas une double extension
if( $stop == 0)
{
$test_double_extension = explode('.',$fichier);
$L = count($test_double_extension);
if ($L>2)
{
$erreur_load = 'Nom de fichier non valide double extention';
$stop = 1;
}
}
// Vérifie l'extension du fichier
if( $stop == 0)
{
if(!in_array($type_extension, $extensions))
{
$erreur_load = 'Vous devez uploader un fichier de type jpg, jpeg';
$stop = 1;
}
}
// Vérifie du poids du fichier
if( $stop == 0)
{
if($poids>$poids_maxi)
{
$erreur_load = 'Le fichier est trop gros...';
$stop = 1;
}
}
if($erreur_load == 'x') //S'il n'y a pas d'erreur, on upload
{
// Génère un nom de fichier aléatoire avec bin2hex() sur random_bytes()
$image = bin2hex(random_bytes(16)).$type_extension;
//Déplacement du fichier renvoie TRUE, si ça a fonctionné...
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $image))
{
// Enregistrement dans la collection
$id = $_SESSION['fiche_active'];
$sql = 'UPDATE '.$_SESSION["nom_table"].' SET
chemin_photo= "'.$_SESSION["login"].'_image/",
photo= "'.$image.'"
WHERE id='.$id;
mysqli_query($base_coll,$sql)or die ('Erreur table '.$_SESSION["nom_table"].'<br>'.$sql.'<br>'.mysqli_error($base_coll));
} // fin de if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $image))
//------------------------------------------
} // fin de if($erreur_load == 'x')
} // fin de if($image == 'ok')
?> |
Partager