Gestion de petits fichiers sur serveur http - revival http filetransfer

Soyez le premier à donner votre avis sur cette source.

Vue 5 507 fois - Téléchargée 565 fois

Description

Cette application web est une survivante de mon apprentissage du langage que j'ai dépoussiéré car elle est selon moi parfois fort pratique.

Vous pouvez grâce à ces scripts gérer une diffusion de petits fichiers (environ 3,9 Mo - J'ai fixé moi-même cette limite car elle est utilisée par défaut chez plusieurs hébergeurs mais il faut savoir que chez certains elle est inférieure) protégée par mot de passe.

L'interface ne consiste quand une page ressemblant à l'"Index Of" des serveur Apache avec en plus un bouton 'parcourir' pour choisir un fichier sur votre système de fichiers local et une liste des fichiers sur le serveur au cas où vous voudriez en supprimer un.

Je vous conseille l'utilisation d'un serveur Apache car j'ai utilisé des images propres à ce serveur, mais vous pouvez vous-mêmes les modifier assez aisément.

Note d'installation:

Uploadez simplement les fichiers sur votre serveur HTTP-PHP et, dans le fichier config.php, modifiez les valeurs de 'login' et de 'password'. C'est tout...

Source / Exemple :


//Fichier upload.php

<?php
  if (!defined('IN_REVIVAL_HTTP_FT')){
    header ("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/");
  }
  // Teste le rapatriement (upload)
  if(isset($_FILES['upload']))
  {
    if($_FILES['upload']['error'] == UPLOAD_ERR_OK)
    {
      move_uploaded_file($_FILES['upload']['tmp_name'], './uploaded-files/' . $_FILES['upload']['name']);
    }
  }
  else if(isset($_POST['del'])){
    unlink("./uploaded-files/" . $_POST['del']);
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<title>Gestion de Fichiers</title>
</head>
<body>
  <h1>Index du Dossier</h1>
  <pre><img src="/icons/blank.gif" alt="     ">
<hr>
<a href="./">Actualiser</a>

<?php
  $uploaded_files = opendir('./uploaded-files/');
  $isFirst = TRUE;
  $tabFiles = array();
  $i = 0;
  while(FALSE != ($file = readdir($uploaded_files))){
    if (($file != "Thumbs.db") && ($file != ".") && ($file != "..") && ($file != "index.php")){
      $tabFiles[$i] = $file;
      $ext3 = (substr($file, strlen($file) - 4, 4));
      $ext4 = (substr($file, strlen($file) - 5, 5));
      if ($isFirst == FALSE){
        echo("\n");
      }
      if (($ext3 == ".jpg") || ($ext3 == ".gif") || ($ext3 == ".bmp") || ($ext3 == ".JPG") || ($ext3 == ".GIF") || ($ext3 == ".BMP")){
        echo("<img src=\"/icons/image2.gif\" alt=\"[IMG]\"> ");
      }
      else if (($ext3 == ".htm") || ($ext4 == ".html") || ($ext3 == ".txt") || ($ext3 == ".HTM") || ($ext4 == ".HTML") || ($ext3 == ".TXT")){
        echo("<img src=\"/icons/text.gif\" alt=\"[TXT]\"> ");
      }
      else if (($ext3 == ".exe") || ($ext3 == ".EXE")){
        echo("<img src=\"/icons/binary.gif\" alt=\"[   ]\"> ");
      }
      else if (($ext3 == ".pdf") || ($ext3 == ".PDF")){
        echo("<img src=\"/icons/pdf.gif\" alt=\"[   ]\"> ");
      }
      else if (($ext3 == ".avi") || ($ext3 == ".mpg") || ($ext3 == ".AVI") || ($ext3 == ".MPG")){
        echo("<img src=\"/icons/movie.gif\" alt=\"[VID]\"> ");
      }
      else if (($ext3 == ".mp3") || ($ext3 == ".wav") || ($ext3 == ".MP3") || ($ext3 == ".WAV")){
        echo("<img src=\"/icons/sound2.gif\" alt=\"[VID]\"> ");
      }
      else if (($ext3 == ".zip") || ($ext3 == ".rar") || ($ext3 == ".ZIP") || ($ext3 == ".RAR")){
        echo("<img src=\"/icons/compressed.gif\" alt=\"[   ]\"> ");
      }
      else{
        echo("<img src=\"/icons/unknown.gif\" alt=\"[   ]\"> ");
      }
      echo('<a href="uploaded-files/' . $file . '">' . $file . "</a>");
      $isFirst = FALSE;
      $i++;
    }
  }
  closedir($uploaded_files);
?>
</pre><hr>
  <p  align="center">
    <form enctype="multipart/form-data" action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
      <input type="hidden" name="MAX_FILE_SIZE" value="4096000">
      <input name="upload" type="file"> <br /> <br />
      <input type="submit" value="    Upload   ">
    </form>
  </p> <br /> <br />
  <p  align="center">
    <form enctype="multipart/form-data" action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
      <select name="del">
<?php
foreach ($tabFiles as $file) {
  echo "        <option value=\"$file\">$file</option>\n";
}
?>
      </select>
      <input type="submit" value="    Supprimer   ">
    </form>
  </p>
</body>
</html>

Conclusion :


NB: L'upload des fichiers est autorisée chez la grande majorité des hébergeurs, mais vous pourrez toujours tomber sur un serveur dont l'administrateur a bloqué cette fonction.

Enjoy...

T`lash from Revival TYM

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
15 mai 2010

merci il marche TB.
Messages postés
43
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
20 septembre 2013

SLt....
j'ai du mal conecterle login et pass a une base
esque quel qu'un la fait
si c'est le cas
doner moi des rensegnement car j'ai du mal a la conecter
A++++
Messages postés
181
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
28 avril 2009

Très simple :
suprime cette ligne.

et met le en dur dans le php.

Ensuite fait une variable de session qui permet d'eviter l'up de plusieurs fichiers repétitif. Si a la main sur le server web enleve l'autorisation d'envoyer des requete POST à l'arrache (je connias plus la commande) c'est autoriser sur yahoo pour utiliser le contenu des pages , et interdit sur google par ex.

Pour finir "nous sommes sur un site où l'on peut travailler en collaboration", Si tu regarde mon profil tu verra que j'ai fait profiter du monde de ma "collaboration".

Syruis.
Messages postés
8
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

Syrius, nous sommes sur un site où l'on peut travailler en collaboration, alors si tu as des idées pour améliorer ce script, écrit le simplement.
Messages postés
181
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
28 avril 2009

Le Hacker de base qui connait le sockets te pete ton script en ce levant le matin merci pour eux , mais pas bien :(
Afficher les 12 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.