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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
| <?php
// ############################################################ //
// Script pour Upload de fichier quelconque sur un serveur //
// ############################################################ //
// Infos : //
// ------- //
// Auteur : Alain PAltou //
// Email de l'auteur : webmasters@masspoetiklove.com //
// Date de création : 7 Février 2006 // //
// Version : 1.1.1 //
// ############################################################ //
//
// Changements (Upload):
//
//-Possibilité de voir le nom du fichier
//-Possibilité de voir la taille du fichier en Ko
//-Possibilité de voir l'url du fichier
//-Aperçu de l'image ou image d'erreur si le fichier ne peut avoir d'aperçu
//-Aperçu audio des sons
//Une galerie a été ajouté , c'est la version modifié du script de J-Web [www.jeunes-webmasters.com]
//
// Changements (Galerie):
//
//-La galerie ne visione plus les fichiers de tous types , elle ne visionnes plus que les images
//-Ajout d'un anti-clic droit pour protéger les auteurs des images.
// Fonctionnement : //
// ---------------- //
// 1. Test si l'utilisateur a choisi un fichier //
// 2. Test si le fichier choisi est valide (si taille <> 0) //
// 3. Test si le taille du fichier est inférieure à la taille //
// max //
// 4. Test si l'extension est autorisée. //
// ############################################################ //
// Paramètrage : //
// ------------- //
// Ce script peut facilement être paramètré selon les besoins. //
// Le paramètrage se fait principalement par la définition des //
// variables globales. Voici les différentes variables : //
// //
// - $DESTINATION_FOLDER : contient le répertoire dans lequel //
// le fichier sera uploadé. Il est par défaut récupéré du //
// formulaire, mais peut très bien être remplacé par un url //
// en dur. //
// //
// - $MAX_SIZE : spécifie la taille maximale que le fichier à //
// uploader peut avoir. Attention, le taille est spécifiée //
// en octets. //
// //
// - $RETURN_LINK : Récupère automatiquement l'url de la page //
// web qui appelle ce script. Ce lien sert à créer des liens //
// de retour, qui sont toujours utiles. //
// //
// - $AUTH_EXT : Ce tableau contient toutes les extensions qui //
// peuvent être uploadées. On peut en rajouter ou en //
// supprimer si besoin est. //
//
// - N'oubliez pas de remplacer la ligne suivante :
//
// echo "URL du Fichier : http://URL du site/upload/up/$nomFichier<br><br>";
//
//
// ############################################################ //
// ############################################################ //
// Définition des variable globales, modifiables à volonté //
// ############################################################ //
// Récupération du dossier dans lequel le fichier sera uploadé //
$DESTINATION_FOLDER = " up/"; //
// Taille maximale de fichier, valeur en bytes //
$MAX_SIZE = 100000000; //
// Récupération de l'url de retour //
$RETURN_LINK = $_SERVER['HTTP_REFERER']; //
// Définition des extensions de fichier autorisées (avec le ".")//
$AUTH_EXT = array(".jpg", ".png", //
".bmp", ".gif", ".JPG", ".PNG", ".BMP", ".GIF"); //
// ############################################################ //
// Fonction permettant de créer un lien de retour automatique
function createReturnLink(){
global $RETURN_LINK;
echo "<a href='".$RETURN_LINK."'></a><br>";
}
// Fonction permettant de vérifier si l'extension du fichier est
// autorisée.
function isExtAuthorized($ext){
global $AUTH_EXT;
if(in_array($ext, $AUTH_EXT)){
return true;
}else{
return false;
}
}
// On vérifie que le champs contenant le chemin du fichier soit
// bien rempli.
if(!empty($_FILES["avatar"]["name"])){
// Nom du fichier choisi:
$nomFichier = $_FILES["avatar"]["name"] ;
// Nom temporaire sur le serveur:
$nomTemporaire = $_FILES["avatar"]["tmp_name"] ;
// Type du fichier choisi:
$typeFichier = $_FILES["avatar"]["type"] ;
// Poids en octets du fichier choisit:
$poidsFichier = $_FILES["avatar"]["size"] ;
// Poids en Kilo-octets du fichier choisit:
$poidsFichierK = $poidsFichier/1024;
// Pré formatage en affichage avec 0 chiffre après la virgule , donc pas de virgule.
$poidsFichierK = sprintf("%.0f", $poidsFichierK) ;
// Code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["avatar"]["error"] ;
// Extension du fichier
$extension = strrchr($nomFichier, ".");
// Si le poids du fichier est de 0 bytes, le fichier est
// invalide (ou le chemin incorrect) => message d'erreur
// sinon, le script continue.
if($poidsFichier <> 0){
// Si la taille du fichier est supérieure à la taille
// maximum spécifiée => message d'erreur
if($poidsFichier < $MAX_SIZE){
// On teste ensuite si le fichier a une extension autorisée
if(isExtAuthorized($extension)){
// Ensuite, on copie le fichier uploadé ou bon nous semble.
$sql = "UPDATE comptes SET avatar='$urlsiteimages/up/$nomFichier' WHERE id='$idcon'";
mysql_query($sql);
$uploadOk = move_uploaded_file($nomTemporaire,$DESTINATION_FOLDER.$nomFichier);
if($uploadOk){
echo "<b>Chargement de votre Photo Effectué ::</b><br><br>";
echo "Nom du Fichier : <b><a href='$urlsiteimages/up/$nomFichier'>$nomFichier</a></b><br>";
echo "Taille du Fichier : <b>$poidsFichierK Ko</b><br>";
echo "Aperçu:<br><br>";
switch ($extension) { //Tu fais écrire du html par le php
case ".jpeg": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr>";break;
case ".bmp": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr></tr>
</td>";break;
case ".gif": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr>";break;
case ".png": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr>";break;
case ".jpg": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr>";break;
case ".JPG": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr>";break;
case ".GIF": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr>";break;
case ".JPEG": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr>";break;
case ".BMP": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr>";break;
case ".PNG": echo "<table width='75' height='120' border='0' background='bck_ph.gif'><tr><td><IMG SRC='up/$nomFichier'height='80' width='60'></td></tr>";break;
case ".rar": echo "<IMG SRC='error/archive.gif'width='87' height='88'>";break;
case ".ace": echo "<IMG SRC='error/archive.gif'width='87' height='88'>";break;
case ".zip": echo "<IMG SRC='error/archive.gif'width='87' height='88'>";break;
case ".php": echo "<IMG SRC='error/web.gif'width='87' height='88'>";break;
case ".htm": echo "<IMG SRC='error/web.gif'width='87' height='88'>";break;
case ".html": echo "<IMG SRC='error/web.gif'width='87' height='88'>";break;
case ".php3": echo "<IMG SRC='error/web.gif'width='87' height='88'>";break;
case ".mp3": echo "<IMG SRC='error/son.gif'width='87' height='88'><bgsound src='$nomFichier'><br>Si vous utilisez internet explorer ,vous pourrez entendre votre son.";break;
case ".wav": echo "<IMG SRC='error/son.gif'width='87' height='88'><bgsound src='$nomFichier'><br>Si vous utilisez internet explorer ,vous pourrez entendre votre son.";break;
default: echo "<IMG SRC='error/inconnu.gif'>"; }
echo "<br><br></table>";
echo(createReturnLink());
}else{
echo("L'upload a échoué !<br><br>");
echo(createReturnLink());
}
}else{
echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
echo (createReturnLink()."<br>");
}
}else{
$tailleKo = $MAX_SIZE / 1000;
echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>");
echo (createReturnLink()."<br>");
}
}else{
echo("Le fichier choisi est invalide !<br>");
echo (createReturnLink()."<br>");
}
}else{
echo("Vous n'avez pas choisi de fichier !<br>");
echo (createReturnLink()."<br>");
}
?> |
Partager