Récemment j'avais déjà laisser un message pour faire le script d'affichage d'une galerie photo.
Maintenant je passe à l'upload de la photo !!!
Maintenant passons aux choses sérieuse, On va attaqué les choses qui fachent.
Je vous explique tout le script :
1 - En premier je vérifie si il y a un nom d'album
2 - Puis je créer 3 dossier (un qui porte le nom de l'album, un autre qui est dedans avec les miniature et l'autre avec les originales)
3 - Je vérifie si ils sont TOUS créer
4 - Je vérifie si un champs sur les 5 d'upload est rempli
5 - Je vérifie la taille du fichier ou si il ne comporte pas d'erreur
6 - Puis on regarde si l'extension correspond à celle qui sont autorisées
7 - On donne le nom du fichier(microtime())
8 - On prends les dimensions du fichier
9 - On redimensionne l'image puis on la copie dans le dossier mini
10 - on la re-redimensionne puis on la copie dans le dossier
11 - Et enfin on déplace le fichier original dans le dossier avec les originaux.
Bien sur dès qu'il y un problème, on affiche un erreur.
Voici mon script pour un fichier :
<?php
function getextension($fichier) {
$bouts = explode(".", $fichier);
$extension = array_pop($bouts);
return $extension;
}
if(isset($_POST['nom']))
{
echo'1';
$dossier=$_POST['nom'];
$dossier_moy =mkdir('../'.$dossier, 0777);
$dossier_min =mkdir('../'.$dossier.'/mini', 0777);
$dossier_gde =mkdir('../'.$dossier.'/gde', 0777);
if(($dossier_moy==true) AND ($dossier_min==true) AND ($dossier_gde==true))
{
echo'2';
if(!empty($_POST['fichier1']))//on vérifie si le fichier existe
{
echo'3';
if($_FILES['fichier1']['size'] > $taillemax OR $_FILES['fichier1']['error'] > 0)//on vérifie si il n'est pas trop gros ou si il ne comporte pas d'erreur
{
echo'Une erreur s\'est produite lors du téléchargement ou votre fichier peut être trop volumineux !!';//on annonce une erreur si c'est le cas.
}
else//sinon on continu.
{
echo'4';
$extension = getextension($_POST['fichier1']);
echo $extension;
if($extension =='png' OR $extension=='gif' OR $extension=='jpg' OR $extension=='jpeg' OR $extension =='PNG' OR $extension=='GIF' OR $extension=='JPG' OR $extension=='JPEG')// si c'est la bonne extension on continu
{
$image1 = $_FILES['fichier1']; // le chemin
$nom_fichier = microtime();
echo'5';
$dimension=getimagesize($image1); // prend la taille de l'image
if($dimension[0]>150)
{
echo'6';
$max=150; //taille a redimensionensionner
$reduc=$max/$dimension[0];
$coef_l=$max;
$coef_h=$dimension[1]*$reduc;
$chemin = imagecreatefromjpeg($image1);
$nouvelle =imagecreatetruecolor ($coef_l, $coef_h);
imagecopyresampled($nouvelle,$chemin,0,0,0,0,$coef_l,$coef_h,$dimension[0],$dimension[1]);
imagejpeg($nouvelle,$image1);
imagedestroy ($chemin);
$copie_mini = move_uploaded_file($_FILES['fichier1'], '../'.$dossier.'mini/'.$nom_fichier );
}
if($dimension[0]>=700)
{
$max=700; //taille a redimensionensionner
$reduc=$max/$dimension[0];
$coef_l=$max;
$coef_h=$dimension[1]*$reduc;
$chemin = imagecreatefromjpeg($image1);
$nouvelle =imagecreatetruecolor ($coef_l, $coef_h);
imagecopyresampled($nouvelle,$chemin,0,0,0,0,$coef_l,$coef_h,$dimension[0],$dimension[1]);
imagejpeg($nouvelle,$image1);
imagedestroy ($chemin);
$copie_moy = move_uploaded_file($image1, '../'.$dossier.'/'.$nom_fichier);
}
$copie_gde = move_uploaded_file($_FILES['fichier1'], '../'.$dossier.'gde/'.$nom_fichier);
}
else//on dis que l'extension est mauvaise
{
echo 'L\'extension de votre fichier n\'est pas valide.';
}
}
}
else
{
echo'le dossier contenant les photos n\'a pu être créer';
}
}
else
{
?>
<h1>Veuillez entrer un nom pour votre album</h1>
<?php
}
?>
J'ai bien suivi quelque tuto des zéros mais Sa marche pas !!Ils m'ont déjà bien fait avancer je l'ai remerci beaucoup !!
Merci d'avance