Sunteți pe pagina 1din 3

$dirlink = "link-default.

jpg";
$folder = 'img/'; // création de la variable indiquant le chemin du répertoire
destination pour les fichiers uploadés (important : le slash à la fin de la chaine
de caractère).
$maxSize = 1000000 * 5; // 5Mo

if(!empty($_FILES) && isset($_FILES['picture'])) {

if ($_FILES['picture']['error'] == UPLOAD_ERR_OK AND $_FILES['picture']['size']


<= $maxSize) {

$nomFichier = $_FILES['picture']['name']; // récupère le nom de mon fichier


au sein de la superglobale $_FILES (tableau multi-dimentionnel)
$tmpFichier = $_FILES['picture']['tmp_name']; // Stockage temporaire du
fichier au sein de la superglobale $_FILES (tableau multi-dimentionnel)

$file = new finfo(); // Classe FileInfo


$mimeType = $file->file($_FILES['picture']['tmp_name'],
FILEINFO_MIME_TYPE); // Retourne le VRAI mimeType

$mimTypeOK = array('image/jpeg', 'image/jpg', 'image/png', 'image/gif'); //


Attention, image n'indique pas le répertoire, mais le typemime !

if (in_array($mimeType, $mimTypeOK)) { // in_array() permet de tester si la


valeur de $mimeType est contenue dans le tableau $mimTypeOK

$newFileName = explode('.', $nomFichier);


$fileExtension = end($newFileName); // Récupère la dernière entrée du
tableau (créé avec explode) soit l'extension du fichier

// nom du fichier link au format : crea-id-timestamp.jpg


$finalFileName = 'crea-'.time().'.'.$fileExtension; // Le nom du
fichier sera donc crea-id-timestamp.jpg (time() retourne un timestamp à la seconde)

if(move_uploaded_file($tmpFichier, $folder.$finalFileName)) { //
move_uploaded_file() retourne un booleen (true si le fichier a été envoyé et false
si il y a une erreur)
// Ici je suis sûr que mon image est au bon endroit
$dirlink = $finalFileName;

}
else {
// Permet d'assigner un link par défaut
$dirlink = "link-default.jpg";
}
} // if (in_array($mimeType, $mimTypeOK))

else {
$error[] = 'Ce type de fichier est interdit, mime type incorrect !';
}

} // end if ($_FILES['picture']['error'] == UPLOAD_ERR_OK AND


$_FILES['picture']['size'] <= $maxSize)
else {
$error[] = 'Merci de choisir un fichier image (uniquement au format jpg) à
uploader et ne dépassant pas 5Mo !';
}
} // end if (!empty($_FILES) AND isset($_FILES['picture'])

else {
// Permet d'assigner l link par défaut si la crea n'en a aucun
$dirlink = "link-default.jpg";

if(isset($_SESSION['id']))
{
$requser = $bdd->prepare("SELECT * FROM users WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
$imagedefault = "images/logo.png";

if(isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name']))


{
$tailleMax = 11111111111111111111111111111104; //ne faite pas attention à
cette ligne
$extensionValides = array('jpg','jpeg', 'gif', 'png');
if($_FILES['avatar']['size'] <= $tailleMax)
{
$extensionUpload = strtolower(substr(strrchr($_FILES['avatar']['name'],
'.'), 1));
if(in_array($extensionUpload, $extensionValides))
{
$chemin = "menbre/avatar/".$_SESSION['id'].".".$extensionUpload;
$resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);
if($resultat)
{
$updateavatar = $bdd->prepare('UPDATE users SET avatar = :avatar
WHERE id = :id');
$updateavatar->execute(array(
'avatar' => $_SESSION['id'].".".$extensionUpload,
'id' => $_SESSION['id']
));
header('Location: profil.php?id='.$_SESSION['id']);

else{
$msg = "Il y a eu une erreure durant l'importation du fichier";

}
}
else
{
$msg = "Votre profile doit etre au format jpg jpeg gif png";
}
}
else
{
$msg = "votre profle ne doit pas depasse 2Mo";
}

S-ar putea să vă placă și