Gestion de petits fichiers sur serveur http - revival http filetransfer

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

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.