Bonjour j'ai suivie le tutoriel sur la rédimension d'une image sans la déformer pour l'adapté à mes besoins => https://openclassrooms.com/courses/gd-redimensionner-une-image-sans-la-deformer
Voici mon script complet qui fonctionne bien, j'ai bien l'image redimensionner dans mon dossier affiche. Mais j'aimerai converver l'image d'origine pour utiliser le plugin fancybox et agrandir l'image.
Donc je dois enlevé le imagedestroy($ImageChoisie);
Il y a une possibilité de converver l'image d'origine est de le mettre dans un autre dossier ? Si oui comment ? Ou alors dans le même dossier (affiche). Et comment je vais faire pour savoir que l'image d'origine est bien égale à l'image redimensionner ? Pour mon fancybox.
<?php
if(isset($_POST['submit']))
{
$prenom = ucfirst(htmlspecialchars($_POST['prenom']));
$nom = ucfirst(htmlspecialchars($_POST['nom']));
$pseudo = ucfirst(htmlspecialchars($_POST['pseudo']));
$mdp = htmlspecialchars($_POST['mdp']);
$email = htmlspecialchars($_POST['email']);
$verifmdp = htmlspecialchars($_POST['verifmdp']);
$ListeExtension = array('jpg' => 'image/jpeg', 'jpeg'=>'image/jpeg');
$ListeExtensionIE = array('jpg' => 'image/pjpeg', 'jpeg'=>'image/pjpeg');
if($pseudo == true && $mdp == true && $email == true && $verifmdp == true && $prenom == true && $nom == true)
{
if(email_existe($email)==0)
{
if(pseudo_existe($pseudo)==0)
{
if (ctype_alnum(str_replace(array('-', '_'), '', $pseudo)))
{
if(strlen($pseudo) > 2 && strlen($pseudo) < 10 && strlen($prenom) < 10 && strlen($prenom) > 2 && strlen($nom) < 10 && strlen($nom) > 2 &&
strlen($mdp) < 10 && strlen($mdp) > 2
)
{
if (preg_match('~[A-Z][a-z]*(-[A-Z][a-z]?)?~', $prenom))
{
if (preg_match('~[A-Z][a-z]*(-[A-Z][a-z]?)?~', $nom))
{
if($verifmdp == $mdp)
{
if(preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#', $email))
{
if (empty($affiche)) {
$affiche = "defaut.jpg";
}
if ($_FILES['affiche']['size'] <= 2097152)
{
$ImageNews = $_FILES['affiche']['name'];
$ExtensionPresumee = explode('.', $ImageNews);
$ExtensionPresumee = strtolower($ExtensionPresumee[count($ExtensionPresumee)-1]);
if ($ExtensionPresumee == 'jpg' || $ExtensionPresumee == 'jpeg')
{
$ImageNews = getimagesize($_FILES['affiche']['tmp_name']);
if($ImageNews['mime'] == $ListeExtension[$ExtensionPresumee] || $ImageNews['mime'] == $ListeExtensionIE[$ExtensionPresumee])
{
$ImageChoisie = imagecreatefromjpeg($_FILES['affiche']['tmp_name']);
$TailleImageChoisie = getimagesize($_FILES['affiche']['tmp_name']);
$NouvelleLargeur = 100; //Largeur choisie à 350 px mais modifiable
$NouvelleHauteur = ( ($TailleImageChoisie[1] * (($NouvelleLargeur)/$TailleImageChoisie[0])) );
$NouvelleImage = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
imagecopyresampled($NouvelleImage , $ImageChoisie , 0,0, 0,0, $NouvelleLargeur, $NouvelleHauteur, $TailleImageChoisie[0],$TailleImageChoisie[1]);
imagedestroy($ImageChoisie);
$NomImageChoisie = explode('.', $_FILES['affiche']['name']);
$NomImageExploitable = time();
imagejpeg($NouvelleImage , 'affiche/'.$NomImageExploitable.'.'.$ExtensionPresumee, 100);
$affiche = 'affiche/'.$NomImageExploitable.'.'.$ExtensionPresumee;
$mdp = sha1($_POST['mdp'].'@#]##ù%');
$req2 = $bdd->prepare('INSERT INTO login (pseudo, mdp, email)
VALUES (:pseudo, :mdp, :email)');
$req2->execute(array('pseudo' => $pseudo, 'mdp' => $mdp, 'email' => $email));
$last = $bdd->lastInsertId();
$req4 = $bdd->prepare('INSERT INTO membre (id_login, affiche, prenom, nom)
VALUES (:idlogin, :affiche, :prenom, :nom)');
$req4->execute(array('idlogin' => $last, 'affiche' => $affiche, 'prenom' => $prenom, 'nom' => $nom
));
echo "<div class='alert alert-success'>Bravo ! Vous êtes inscrit.</div>";
}
else
{
echo 'Le type MIME de l\'image n\'est pas bon';
}
}
else
{
echo 'L\'extension choisie pour l\'image est incorrecte';
}
}
else
{
echo "<div class='alert alert-danger'>Votre affiche est trop lourde.</div>";
}
}
else
{
echo "<div class='alert alert-danger'>Votre email n'est pas valide.</div>";
}
}
else
{
echo "<div class='alert alert-danger'>La confirmation du mot de passe ne correspond pas.</div>";
}
}
else
{
echo "<div class='alert alert-danger'>Votre nom ne doit pas contenir de caractères spéciaux.</div>";
}
}
else
{
echo "<div class='alert alert-danger'>Votre prenom ne doit pas contenir de caractères spéciaux.</div>";
}
}
else
{
echo "<div class='alert alert-danger'>Veuillez respecter le format requis pour votre pseudo et votre mot de passe</div>";
}
}
else
{
echo "<div class='alert alert-danger'>Votre pseudo ne peut pas contenir de caractères spéciaux (&*@#, etc).</div>";
}
}
else
{
echo "<div class='alert alert-danger'>Ce pseudo est déjà utilisé.</div>";
}
}
else
{
echo "<div class='alert alert-danger'>Cette adresse email est déjà utilisée.</div>";
}
}
else
{
echo "<div class='alert alert-danger'>Veuillez remplir tous les champs.</div>";
}
}
?>