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
| <?php include "config.php";?>
<header>
<link rel="stylesheet" href="style.css" />
</header>
<up><form name="upload" enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" name="file">
<br><br>
Choisir le dossier de destination :<br>
<select name="folder">
<?php
$query = $bdd->query("SELECT * FROM album WHERE user ='".$_SESSION['pseudo']."'");
$c = $query->fetch();
while( $c = $query->fetch()){
$r=$c['url'];
$a=$c['name'];
$b=ereg_replace(' ','%',$a);
$requette = $bdd->query("SELECT * FROM dossier WHERE user ='".$_SESSION['pseudo']."'");
$d = $requette->fetch();
$idd=$d['id'];
?>
<option name="folder"value="<?php echo $idd;?>/pics/<?php echo $b;?>/"><?php echo $a;?></option>
<?php }?>
</select>
<br><br>
<input type="submit" name="submit" value="Envoyer le fichier">
</form>
<br>
<br>
</body>
</html>
<?php
if(isset($_POST['submit'])){
$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(".docx", ".pdf", ".jpg", ".ppt", ".JPG", //
".bmp", ".gif"); //
// ############################################################ //
// 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>");
}}
?></up> |
Partager