1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| <?php
//========= Accés à la base de données =========================================================*/
require 'Admin/connect.php';
/*========= Permet l'utilisation de toutes les variables de la feuille appelante ===============*/
extract($_POST);
/*==============================================================================================*/
$Requete1 = "SELECT * FROM visuel_photo_interne WHERE 1";
$Result1 = mysql_query($Requete1) or die("Erreur dans la requête de lecture");
/*==============================================================================================*/
/*========= Variables ==========================================================================*/
$aujourdhui = date("Y-m-d H:i:s");// 2001-25-10 15:27:32; sortie de WinBugXP
$dossier_dest = "./Internes/";
$extensions_ok = array('png','gif','jpg','swf');
$taille_max = 2048000;
/*==============================================================================================*/
foreach($_FILES as $cle=>$objet)
{
/*========= Tests de conformité ==============================================================*/
$tempName = $objet['tmp_name'];// Répertoire temporaire
$realName = $objet['name'];// Extraction du nom
$InfoChemin=pathinfo($realName);
if (!in_array(strtolower($InfoChemin['extension']), $extensions_ok ))
{
$_SESSION['erreur'] = 'Sélectionne un fichier de type png, gif, swf ou jpg!';
echo $_SESSION['erreur']."<br />";
exit();
}
if ($_FILES[$cle]['size']>$taille_max)//Valeur dans le cas d'un tmp_name renseigné
{
$_SESSION['erreur'] = "La photo $realName a une taille supérieure à 2 Mo !";
echo $_SESSION['erreur']."<br />";
exit();
}
if ($_FILES[$cle]['error']==1)
{
$_SESSION['erreur'] = "La photo $realName a une taille supérieure à la valeur définie sur le serveur !";
echo $_SESSION['erreur']."<br />";
exit();
}
if ($_FILES[$cle]['error']==2)
{
$_SESSION['erreur'] = "La photo $realName a une taille supérieure à la directive de cette page !";
echo $_SESSION['erreur']."<br />";
exit();
}
if ($_FILES[$cle]['error']==3)
{
$_SESSION['erreur'] = "La photo $realName n'a été que partiellement téléchargée sur le serveur /n Informe immédiatement le webmaster !";
echo $_SESSION['erreur']."<br />";
exit();
}
/*========= Mise en forme du nom d'image ========================================================*/
$image = basename($realName);
// Formatage du nom de fichier - Enlever les accents
$image = strtr($image,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// Formatage du nom de fichier - Remplacer les caracteres autres que lettres, chiffres et points par _
$image = preg_replace('/([^.a-z0-9]+)/i', '_', $image);
// Formatage du nom de fichier - Place toutes les lettres en minuscule sauf la première
$image=ucfirst(strtolower($image));
/*==============================================================================================*/
/*========= Insertion dans la table des photos internes ========================================*/
$Requete2 = "INSERT INTO visuel_photo_interne (Nom_Image,Code_Sous_Collection_Interne,Date_Insertion) ";
$Requete2 .= "VALUES ('$image','$selectSousCollection','$aujourdhui') ";
$Result2 = mysql_query($Requete2) or die("Erreur dans la requête d'insertion, contacte le Webmaster !");
/*==============================================================================================*/
echo "<br>Traitement du fichier $realName...\n";
flush();
/*========= Copie de l'image dans le répertoire ================================================*/
if(!move_uploaded_file($tempName,$dest_dossier.$image))
{
$_SESSION['erreur'] = "La photo<strong>$tempName</strong> n'a pas pu être copié dans le répertoire ".$dest_dossier." !<br />";
echo $_SESSION['erreur'];
exit();
}
/*==============================================================================================*/
echo "OK !\n";
flush();
}
?> |
Partager