Oui : c'est peut être un peu bourrin mais je vais essayer de te montrer :
$categories = array(
'animations',
'concerts',
'expositions',
);
// Gestion de la gallerie photo : ajout d'images
if(!empty ( $_FILES) )
{
require("../Galerie_photo/imgClass.php") ;
$img = $_FILES 'img'] ;
$ext = strtolower (substr($img'name'],-3)) ;
$allow_ext = array ("jpg","png","gif") ;
$nom = substr($img'name'], 0, -4) ;
$categorie = $_POST'categorie'];
if (in_array($ext, $allow_ext) )
{
unset($sql, $req);
$sql = 'SELECT * from galerie WHERE nom = "'.$nom.'"';
$req = mysql_query($sql) or die(mysql_error()) ;
$resultat = mysql_num_rows($req) ;
if ($resultat == 0)
{
move_uploaded_file($img'tmp_name'],"../Galerie_photo/images/".$categorie."/real_size/" .$img'name']) ;
// Appel de la classe creerMin (chemin de l'image uploadée, nouveau chemin, nouveau nom, largeur, hauteur )
Image::creerMin("../Galerie_photo/images/".$categorie."/real_size/" .$img'name'], "../Galerie_photo/images/".$categorie."/min/", $img'name'], 215, 112 );
Image::convertirJpg("../Galerie_photo/images/".$categorie."/real_size/" .$img'name']);
unset($sql, $req);
$sql = "INSERT INTO galerie (categorie,nom) VALUES ('".$categorie."','".$nom."')";
$req = mysql_query($sql) or die(mysql_error()) ;
}
else
{
$image_deja_existante = "Image existante";
}
}
else
{
$erreur = "Ce fichier n'est pas une image" ;
}
}
?>
Quand j'insère mon image, j'appelle la classe imgClass ( merci Grafikart :p )
Elle va me créer une miniature de mon image (Image::creerMin)+ une extension qui deviendra .jpg (Image::convertirJpg).
En + de ça, j'insère sa catégorie et son nom dans une Base de données.
En clair j'ai mon chemin "Galerie_photos/images" et dans ce chemin j'ai 3 dossiers ( animation, concerts, expositions ) dans chacun de ces 3 dossiers j'ai 2 sous-dossiers, appelés real_size ( image taille réelle convertie en jpg ) et min ( miniature créée ).
Du coup avec ça, j'upload l'image avec
<!-- Ajouter une image à ma galerie -->
<legend> Ajouter une image à la galerie </legend>
<br>
<?php
if(isset($image_deja_existante))
{
echo '<p>'.$image_deja_existante.'</p>' ;
}
?>
<form method="post" action ="admin.php" enctype="multipart/form-data">
<input type="file" name="img" value="relouuu"/>
<?php
echo '<select name=categorie>';
for ($i=0; $i<count($categories); $i++)
{
$option.= '<option value="'.$categories$i].'">'.$categories$i].'</option>';
}
echo $option;
echo '</select>';
?>
<input type="submit" name="Envoyer"/>
</form>
</fieldset>
</div>
<!-- ------------------------------------------------------------------------------------------- -->
Pour info, tout le code se trouve dans la page admin.php à ce moment