ok ok donc voila les codes sources
choix_fichier.php
<? include("../admin/verifylogin.php"); ?>
<?php
session_start();
?>
<html>
<head>
<title>Upload de fichiers</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<h3>Uploader des fichiers</h3>
<br>
<br>
<form name="upload" enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="file">
<br><br>
<input type="submit" name="bouton_submit" value="Envoyer le fichier">
</form>
<br>
<br>
</body>
</html>
uploader.php
<? include("../admin/verifylogin.php"); ?>
<?php
session_start();
?>
<?php
// ############################################################ //
// Script pour Upload de fichier quelconque sur un serveur //
// ############################################################ //
// Infos : //
// ------- //
// Auteur : Fabien Guillod //
// Email de l'auteur : [email protected] //
// Date de création : 8 mars 2005 //
// Dernière modification : 10 mars 2005 //
// Version : 1.0.0 //
// ############################################################ //
// 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. //
// ############################################################ //
// ############################################################ //
// Définition des variable globales, modifiables à volonté //
// ############################################################ //
// Récupération du dossier dans lequel le fichier sera uploadé //
$DESTINATION_FOLDER = $_POST["folder"]; //
// Taille maximale de fichier, valeur en bytes //
$MAX_SIZE = 5000000; //
// 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(".doc", ".pdf", ".jpg", ".JPG", ".ppt", ".xls", ".bmp", ".gif", ".png"); //
// ############################################################ //
// Fonction permettant de créer un lien de retour automatique
function createReturnLink(){
global $RETURN_LINK;
echo "<a href='".$RETURN_LINK."'>Retour</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["file"]["name"])){
// Nom du fichier choisi:
$nomFichier = $_FILES["file"]["name"] ;
// Nom temporaire sur le serveur:
$nomTemporaire = $_FILES["file"]["tmp_name"] ;
// Type du fichier choisi:
$typeFichier = $_FILES["file"]["type"] ;
// Poids en octets du fichier choisit:
$poidsFichier = $_FILES["file"]["size"] ;
// Code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["file"]["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.
$uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
if($uploadOk){
echo("L'upload a réussi !<br><br>");
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>");
}
?>
ok ok donc voila les codes sources
choix_fichier.php
[php]<? include("../admin/verifylogin.php"); ?>
<?php
session_start();
?>
<html>
<head>
<title>Upload de fichiers</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<h3>Uploader des fichiers</h3>
<br>
<br>
<form name="upload" enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="file">
<br><br>
<input type="submit" name="bouton_submit" value="Envoyer le fichier">
</form>
<br>
<br>
</body>
</html>[/php]
uploader.php
[php]<? include("../admin/verifylogin.php"); ?>
<?php
session_start();
?>
<?php
// ############################################################ //
// Script pour Upload de fichier quelconque sur un serveur //
// ############################################################ //
// Infos : //
// ------- //
// Auteur : Fabien Guillod //
// Email de l'auteur :
[email protected] //
// Date de création : 8 mars 2005 //
// Dernière modification : 10 mars 2005 //
// Version : 1.0.0 //
// ############################################################ //
// 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. //
// ############################################################ //
// ############################################################ //
// Définition des variable globales, modifiables à volonté //
// ############################################################ //
// Récupération du dossier dans lequel le fichier sera uploadé //
$DESTINATION_FOLDER = $_POST["folder"]; //
// Taille maximale de fichier, valeur en bytes //
$MAX_SIZE = 5000000; //
// 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(".doc", ".pdf", ".jpg", ".JPG", ".ppt", ".xls", ".bmp", ".gif", ".png"); //
// ############################################################ //
// Fonction permettant de créer un lien de retour automatique
function createReturnLink(){
global $RETURN_LINK;
echo "<a href='".$RETURN_LINK."'>Retour</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["file"]["name"])){
// Nom du fichier choisi:
$nomFichier = $_FILES["file"]["name"] ;
// Nom temporaire sur le serveur:
$nomTemporaire = $_FILES["file"]["tmp_name"] ;
// Type du fichier choisi:
$typeFichier = $_FILES["file"]["type"] ;
// Poids en octets du fichier choisit:
$poidsFichier = $_FILES["file"]["size"] ;
// Code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["file"]["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.
$uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
if($uploadOk){
echo("L'upload a réussi !<br><br>");
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>");
}
?>[/php]