Partage de fichier

Fermé
Corentin.ch Messages postés 5 Date d'inscription samedi 14 janvier 2017 Statut Membre Dernière intervention 14 janvier 2017 - 14 janv. 2017 à 18:41
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 - 14 janv. 2017 à 21:52
Bonjours, je suis actuellement dans une impasse. Voilà mon problème j'ai un site internet avec un hébergement FTP classique, je connais un peu le htm php et js mais uniquement les bases et je souhaite pouvoir, sur mon site, faire en sorte que les gens de mon groupe pour mon projet de terminal puisse mettre leur fichier etc et qu'on puisse les exploiter et je ne veux pas passer par du google drive etc.. donc savoir vers quel coter chercher ? Html ou php etc... car il faut pouvoir upload et dowload les ficher merci de vos réponses.
A voir également:

2 réponses

dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
14 janv. 2017 à 19:08
Bonsoir,

Pour le download, le HTML est suffisant, car il ne s'agit que d'un lien, en revanche, pour l'upload, si le formulaire est en HTML, son traitement est en PHP.

Pour le formulaire, fait une recherche sur enctype="multipart/form-data"

Ce genre de fonction est très dangereuse pour la sécurité de ton site, il faut mettre des limites sur la taille du fichier, son extension, etc.
0
Corentin.ch Messages postés 5 Date d'inscription samedi 14 janvier 2017 Statut Membre Dernière intervention 14 janvier 2017
14 janv. 2017 à 20:35
J'ai trouver pour le formulaire mais je ne trouve pas un php permettant d'envoyer le fichier dans un dossier avec tous etc
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > Corentin.ch Messages postés 5 Date d'inscription samedi 14 janvier 2017 Statut Membre Dernière intervention 14 janvier 2017
Modifié par dugenou le 14/01/2017 à 21:34
Il faut créer toi-même le script en PHP.

Par exemple, voici un script que j'utilise et que j'ai simplifié pour toi, je ne sais pas s'il te conviendra :

<?php

// Extensions des fichiers images autorisés pour l'upload
$admupdExtensionsImage = array('gif', 'jpg', 'jpe', 'jpeg', 'jfif', 'png', 'bmp');

// Extensions des fichiers interdits pour l'upload
$admupdExtensionsInterdites = array('php\d*', 'inc', 'htm', 'html',
  'phtml', 'shtml', 'wml', 'pwml', 'js', 'jsp', 'asp', 'pl', 'py', 'pyc', 'cgi',
  'htaccess');
   
$rep = "partage";
  
  
//Pour savoir si le fichier a été uploadé, on vérifie si la taille est bien supérieur à 0
if (!empty($_FILES['fichier1']['size'])){

//On récupère la taille, le nom et le nom du fichier temporaire
$f1_size = $_FILES['fichier1']['size'];
$f1_name = $_FILES['fichier1']['name'];
$f1_tmpname = $_FILES['fichier1']['tmp_name'];

// Contrôle du type en fonction du répertoire
      switch ($rep) {

      case ($rep):
        // Types interdits pour le téléchargement
        $f1_name_ok = !preg_match('#\.('.implode('|', $admupdExtensionsInterdites).')$#i', $f1_name);
        break;

      case ($rep):  // Par défaut, seules les images sont acceptées
        $f1_name_ok = preg_match('#\.('.implode('|', $admupdExtensionsImage).')$#i', $f1_name);
        break;
      }
      if ($f1_name_ok) { 
copy($f1_tmpname, $rep."/".$f1_name) ;
}
}


// Creation de l'index des fichiers
$dbfiles = array();
$i = 0;
$dossier = opendir($rep);
while ($fichier = readdir($dossier)) {
  if (is_file($rep."/".$fichier)) {
    if ($fichier != "index.php" AND $fichier != 'Thumbs.db') {
      $dbfiles[$i][0] = $fichier;
      $path_parts = basename($fichier);
      $path_parts = substr($path_parts,strrpos($path_parts,".")+1);
      $i++;
    }
  }
}
closedir($dossier);
@sort($dbfiles);
?>

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8"> 
<title>Partage de fichiers</title>
</head>
<body>
<div style="text-align: center;">
<h3>Choisir le fichier</h3>
<form name="uploadit" enctype="multipart/form-data" action="partage.php" method="post">
<input type="hidden" name="rep" value="<?php echo $rep; ?>">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000000">
<p><input type="file" name="fichier1" size="40" class="texte" /></p>
<p><input type="submit" value="Envoyer" /></p>
</form>

<h3>Fichiers disponibles</h3>
<?php
for ($i = 0; $i < count($dbfiles); $i++) {
?>
<p><a href="<?php echo $rep." rel="nofollow noopener noreferrer" target="_blank" /".$dbfiles[$i][0]; ?>" target="_blank"><?php echo $dbfiles[$i][0]; ?></a></p>
<?php
}
?>
</div>
</body>
</html>


Il faut copier/coller ce code dans un fichier partage.php et créer un dossier partage sur ton site pour y stocker les fichiers partagés.

Je l'ai testé en local, il fonctionne.

Je te le donne, mais je ne te conseille pas d'utiliser ce genre de fonction avec le peu de connaissances que tu sembles avoir. C'est de ta responsabilité et je ne ferais d'assistance en cas de difficulté.

Si tu veux le tester en local, il te faut un serveur Web.

De plus, il faut, au moins, protéger son accès avec un mot de passe.
0
Corentin.ch Messages postés 5 Date d'inscription samedi 14 janvier 2017 Statut Membre Dernière intervention 14 janvier 2017
14 janv. 2017 à 21:35
oui seul mes amis ayant un mot de passe pouront acceder a cette page
et dans votre code il y a du htlm qui je suppose doit etre mis dans l'index qui sera utiliser pour acceder au php ?
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451 > Corentin.ch Messages postés 5 Date d'inscription samedi 14 janvier 2017 Statut Membre Dernière intervention 14 janvier 2017
14 janv. 2017 à 21:40
Ce code est utilisable tel qu'il est, le HTML est pour le formulaire.
0
Corentin.ch Messages postés 5 Date d'inscription samedi 14 janvier 2017 Statut Membre Dernière intervention 14 janvier 2017
14 janv. 2017 à 21:42
Oui ca marche merci
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
14 janv. 2017 à 19:32
bonsoir, ne peux-tu pas simplement utiliser ftp?
ton hébergeur n'offre pas de solution de partage de fichiers?
pourquoi ne veux-tu pas utiliser google drive?
0
Corentin.ch Messages postés 5 Date d'inscription samedi 14 janvier 2017 Statut Membre Dernière intervention 14 janvier 2017
14 janv. 2017 à 20:34
Je ne trouve pas pour mon ftp et je ne souhaite pas utiliser google drive car tout le monde doit créer un compte google puis je n'aime pas réellement l'interface
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
14 janv. 2017 à 20:48
est-ce un hébergement payant, ou un hébergement "de base", inclus dans un abonnement internet?
si payant, tu as sans doute des options supplémentaires pour ton site ftp.
une question importante: peux-tu faire du php avec ce site?
0