Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Salut tout le monde
J'ai pris le cours sur le developpement du site de a a z et j'ai des erreurs au niveau de la modification de l'avatar par defaut et on m'indique des erreurs a la ligne 70, 99, 101 et 106 sauf que je n'en ai pas trouvé,
Merci d'avance pour votre aide.
<?php
session_start () ;
include('bd/connexionDB.php') ;
if(!empty($_POST)){
extract($_POST);
$valid = true;
if(isset($_POST['avatar'])){
if(isset($_FILES['file']) and !empty($_FILES['file']['name'])){
$filename = $_FILES ['file'] ['tmp_name'];
list($width_orig, $height_orig) = getimagesize($filename) ;
if ($width_orig >= 500 && $height_orig >= 500 && $width_orig <= 6000 && $height_orig <= 6000){
$ListeExtension = array('jpg' => 'image/jpg', 'jpeg' =>'image/jpeg', 'png' => 'image/png', 'gif' => 'image/gif');
$ListeExtensionIE = array('jpg' => 'image/pjpg', 'jpeg '=>'image/pjpeg');
$tailleMax = 5242880; // Taille maximum 5 Mo
//2mo 2097152
// 3mo = 3145728
// 4mo 4194304
//5mo 5242880
//7mo 7340032
//10mo= 10485760
//11 12mo = 12582912
$extensionsValides = array('jpg', 'jpeg'); // Format accepté
if ($_FILES['file']['size'] <= $tailleMax){ // Si le fichier et bien de taille inférieur ou égal à 5 Mo
$extensionUpload = strtolower(substr(strrchr($_FILES ['file']['name'], '.'), 1)); // Prend 1'extension après le point, soit "jpg, jpeg ou
if (in_array( $extensionUpload, $extensionsValides) ){ // vérifie que 1'extension est correct
$dossier = "public/avatars/".$_SESSION['id']."/"; // On se place dans le dossier de la personne
if (!is_dir($dossier)){ // Si le nom de dossier n'exis te pas alors on le crée
mkdir($dossier) ;
}else{
if(file_exists ("public/avatars/".$_SESSION ['id']."/". $_SESSION['avatar']) && isset($_SESSION['avatar'])){
unlink("public/avatars/".$_SESSION['id']."/". $_SESSION['avatar']);
}
}
$nom = md5(uniqid(rand(), true)) ; // Permet de générer un nom_unique à la photo
$chemin= "public/avatars/".$_SESSION['id']."/".$nom.".".$extensionUpload; // Chemin pour placer_ la photo
$resultat = move_uploaded_file($_FILES['file']['tmp_name'], $chemin) ; // 0On fini par mettre la photo dans le dossier
if ($resultat) { // Si on a le résultat alors on va comprésser 1'image
if (is_readable("public/avatars/".$_SESSION['id']."/".$nom.".".$extensionUpload)){
$verif_ext = getimagesize("public/avatars/".$_SESSION['id']."/".$nom.".".$extensionUpload);
// Vérification des extensions avec la liste des exten si ons autorisés
if($verif_ext['mime'] = $ListeExtension[$extensionUpload] || $verif_ext ['mime'] == $ListeExtensionIE [$extensionUpload] ){
// J'enregistre le chemin de 1'image dans fi lename
$filename ="public/avatars/".$_SESSION['id']."/".$nom.".". $extensionUpload ;
//Vérifica tion _des extensions queyje souhaite prendre
if ($extensionUpload == 'jpg' || $extensionUpload == 'jpeg' || $extensionUpload == "pjpg" || $extensionUpload == 'pjpeg'){
$image2 = imagecreatefromjpeg($filename);
// Définition de la largeur et de la hauteur maximale
$width2 = 500;
$height2 = 500;
List ($width_orig, $height_orig) = getimagesize ($filename) ;
//Redimensionnement
$image_p2 = imagecreatetruecolor ($width2, $height2) ;
imagealphablending ($image_p2, false) ;
imagesavealpha ($image_p2, true) ;
// Cacul des nouvelles dimensions
$point2 = 0;
$ratio = null;
if ($width_orig = $height_orig) {
$ratio = $width2 / $width_orig;
}else if ($width_orig > $height_orig){
$ratio = $height2 / $height_orig;
}
$width2 = ($width_orig * $ratio) + 1;
$height2 = ($height_orig * $ratio) + 1;
imagecopyresampled($image_p2, $image2, 0, 0, $point2, 0, $width2, $height2, $width_orig, $height_orig);
imagedestroy($image2);
if ($extensionUpload == 'jpg' || $extensionUpload == 'jpeg' || $extensionupload == "pjpg" || $extensionUpload == 'pjpeg'){
// Content type
header('Content-Type: image/jpeg');
$exif = exif_read_data ($filename) ;
if(!empty ($exif['Orientation'] )){
switch ($exif['Orientation']) {
case 8:
$image_p2 = imagerotate($image_p2,90,0);
// code...
break;
case 3:
$image_p2 = imagerotate($image_p2,100,0);
// code...
break;
case 6:
$image_p2 = imagerotate($image_p2,-90,0);
// code...
break;
}
}
//Affichage
imagejpeg($image_p2,"public/avatars/".$_SESSION['id']."/".$nom.".".$extensionUpload, 75);
imagedestroy($image_p2);
}
$DB->insert("UPDATE utilisateur SET avatar = ? WHERE id = ?", array(($nom.".".$extensionUpload), $_SESSION['id']));
$_SESSION['avatar'] = ($nom.".".$extensionUpload); //on met a jour l'avatars
//$_SESSION['flash']['success'] = "Nouvel avatar enregistré"
// header('Location: profil.php');
// exit;
////////////////Fin de compression de l'images
}else {
$_SESSION['flash']['warning'] = "Le type de MIME de l'image n'est pas bon.";
// code...
}
}
}else {
$_SESSION['flash']['error'] = "Erreur lors de l'importation de votre photo.";
}
}else {
$_SESSION['flash']['warning'] = "Votre photo doit etre au format jpg.";
}
}else {
$_SESSION['flash']['warning'] = "Votre photo de profil ne doit pas depasser 5 Mo !";
}
}else {
$_SESSION['flash']['warning'] = "Dimensions de l'image minimum 400 x 400 et maximum 6000 x 6000 !";
}
}else {
$_SESSION['flash']['warning'] = "Veuillez mettre une image !";
} }else if(isset($_POST['dltav'])) {
// Permet de supprimer une image dans un $dossier
if (file_exists("public/avatars".$_SESSION['id']."/".$_SESSION['avatar']) && isset($_SESSION['avatar'])) {
unlink("public/avatars". $_SESSION['id']."/".$_SESSION['avatar']);
rmdir("public/avatars". $_SESSION['id']."/");
$DB->insert("UPDATE utilisateur SET avatar = ? WHERE id = ?", array(NULL, $_SESSION['id']));
$_SESSION['avatar'] = NULL; //On met a jour l'avatar
// code...
}
$_SESSION['flash']['success'] = "Votre avatar à été supprimé !";
header('Location: profil');
exit;
}
}
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<!-- <base href="/"/> -->
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<title>Topic</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<?php
if (isset($_SESSION['id']) && $_SESSION['theme'] == 1) {
echo '<link rel="stylesheet" href="style-sombre1.css">';
// code...
} else {
echo '<link rel="stylesheet" href="style.css">';
// code...
}
?>
</head>
<body>
<?php include('nav.php') ?> <br>
<!-- Ici on peut afficher toutes les informations que vous souhaitez :
- �ge,
- sexe,
- date d'anniversaire,
- mail,
- etc.
-->
<?php $afficher_profil = $DB->query("SELECT * FROM utilisateur WHERE id = ?",
array($_SESSION['id']));
$afficher_profil = $afficher_profil->fetch(); ?>
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-12">
<div class="alert alert-secondary cdr-ins">
<h4 style="color:#fff;">Voici le profil de <?= $afficher_profil['prenom'] . " " . $afficher_profil['nom']; ?></h4>
<div style="margin:20px 0;">
<?php
if (file_exists("public/avatars/".$_SESSION['id']. "/" .$_SESSION['avatar']) && isset($_SESSION['avatar'])) {
?>
<img src="<?= "public/avatars/".$_SESSION['id']. "/" .$_SESSION['avatar']; ?>" width="120" class="rounded-circle">
<?php
} else{
?>
<img src="public/avatars/defaults/images.png" width="120" class="rounded-circle">
<?php
}
?>
</div>
<span class="image-upload">
<form enctype="multipart/form-data" method="post">
<label for="file" style="margin-bottom:0; margin-top:5px; display:inline-flex;">
<input type="file" class="form-control hide-upload" id="file" name="file" required/>
 
<input class="btn btn-info" type="submit" name="avatar" value="Envoyer">
</label>
</form>
</span>
<div style="border-top: 2px solid #eee; margin-top:20px; padding-top:20px;">
<form method="post">
<label> <b>Supprimer l'avatar</b> </label>
<input type="submit" class="fa trash-avatar" name="dltav" value="Supprimer">
</form>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<body>
</html>
Re:
Pas de soucis !
Alors quand je te demande un lien d'un article de formation ou d'un tutoriel vidéo, il s'agit de "https://www" dans la barre d'adresse de ton navigateur que tu dois copier/coller dans la balise [LIEN] (en savoir plus sur les balises) 😉
Le titre que tu m'as donné correspond à cette vidéo dont l'article de formation est celui-ci...
Ma question est la suivante : as-tu regardé cet article ? 🤔
Hey @Jerem971
Sorry pour le titre et la mauvaise écriture
Je sais pas trop ce que tu attend en parlant de lien, mais néamoins c'est la video intitulé PHP _11 Ajouter une image à son profil
De la série creer un site de A a Z
Cordialement
Hello @Gael-Mk,
Attention au titre des topics ! Un titre clair et précis n'est pas de refus ! 😉 (J'ai réédité cela)
N'hésite pas à mettre un espace entre tes paragraphes...
Peux-tu nous donner le lien de l'article de formation concerné ? 🤔
On va essayé de résoudre le problème ! 😉