Je suis en train de coder un site avec un espace membres, et je suis sur le script de l'avatar.
J'ai réussi à donner un nom spécial pour éviter les doublons, à redimensionner l'image (pour éviter les images 1000*1000 dans une zone de commentaires), à la mettre dans le dossier voulu, mais au moment d'insérer le chemin de la photo dans la BDD, rien ne se fait.
<?php
session_start();
$dossier = 'upload/';
$fichier = basename($_FILES['avatar']['name']);
$pseudo = $_SESSION['pseudo'];
$chemin = $dossier . $pseudo . '.jpg';
$taille_maxi = 500000;
$taille = filesize($_FILES['avatar']['tmp_name']);
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros.';
}
if(!isset($erreur))
{
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
$img_src = imagecreatefromjpeg($_FILES['avatar']['tmp_name']);
list($width_src, $height_src) = getimagesize($_FILES['avatar']['tmp_name']);
$img_dst = imagecreatetruecolor(200, 200);
imagecopyresampled($img_dst, $img_src, 0, 0, 0, 0, 200, 200, $width_src, $height_src);
$chemin_fichier_destination = $chemin;
if (!imagejpeg($img_dst, $chemin, 75))
{
include("connexion.php");
$req = $bdd->prepare('UPDATE inscription SET photo = :photo WHERE pseudo = :pseudo');
$req->execute(array(
'photo' => $chemin,
'pseudo' => $pseudo
));
unlink ($imgname_src);
header("Location:profil.php");
}
}
else
{
echo $erreur;
}
?>
Aussi, pour l'instant mon code ne gère que les JPEG, comment faire pour pouvoir gérer toutes les images ?Merci d'avance
iSteelZ