Partage de fichier
Corentin.ch
Messages postés
5
Statut
Membre
-
dugenou Messages postés 6262 Statut Contributeur -
dugenou Messages postés 6262 Statut Contributeur -
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:
- Partage de fichier
- Fichier bin - Guide
- Partage de photos - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
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.
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.
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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?
ton hébergeur n'offre pas de solution de partage de fichiers?
pourquoi ne veux-tu pas utiliser google drive?
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.
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 ?