Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TÉLÉCHARGER PLUSIEURS FICHIERS EN 1 CLIC


Information sur la source

Catégorie :Astuces Classé sous : telechargement, download, multiple, plusieurs, fichier Niveau : Débutant Date de création : 09/03/2008 Vu : 7 887

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

Voila une petite astuce pour lancer le téléchargement de plusieurs fichiers à la fois.
Ça tiens en 2 pages :
- start.php est la page sur laquelle doit pointer le lien lançant le téléchargement. Elle est a un double système de rafraîchissement : par une entête HTTP qui pointe vers la seconde page. Et par un javascript qui la met à jour.

- sender.php est la page envoyant les fichiers, un par appel qui lui est fait.
une liste de nom et une variable de session permettent de définir quel fichier est envoyé.
 

Source

  • /** start.php **/
  • <?php
  • session_start();
  • if (! session_is_registered('n'))
  • $_SESSION['n'] = 0;
  • if ($_SESSION['n'] < 3){
  • header ('Refresh: 0, url="sender.php"');
  • ?>
  • <html>
  • <head>
  • <script>
  • setTimeout(function(){location.reload();},500);
  • </script>
  • <title></title>
  • </head>
  • <body>
  • Proposition de transfert en cours...
  • </body>
  • </html>
  • <?php
  • exit;
  • }else{
  • session_unregister('n');
  • ?>
  • <?php
  • }
  • ?>
  • <html>
  • <head>
  • <title></title>
  • </head>
  • <body>
  • Proposition Termin&eacute;e.
  • </body>
  • </html>
  • /** sender.php **/
  • <?php
  • session_start();
  • if (! session_is_registered('n'))
  • $_SESSION['n'] = 0;
  • $files = array('test.txt','machin.txt','truc.txt');
  • $file = $files[$_SESSION['n']];
  • $sources = array('test.txt','test.txt','test.txt');
  • $source = $sources[$_SESSION['n']];
  • $_SESSION['n'] ++;
  • header('Content-Disposition: attachment; filename="'.$file.'"');
  • readfile($source);
  • ?>
/** start.php **/
<?php
	session_start();
	if (! session_is_registered('n'))
		$_SESSION['n'] = 0;

	if ($_SESSION['n'] < 3){
		header ('Refresh: 0, url="sender.php"');
?>
<html>
  <head>
    <script>
	setTimeout(function(){location.reload();},500);
    </script>
    <title></title>
  </head>
  <body>
   Proposition de transfert en cours...
  </body>
</html>
<?php
		exit;
	}else{
		session_unregister('n');
?>

<?php
	}
?>

<html>
  <head>
    <title></title>
  </head>
  <body>
    Proposition Termin&eacute;e.
  </body>
</html>

/** sender.php **/
<?php
	session_start();
	if (! session_is_registered('n'))
		$_SESSION['n'] = 0;
	
	$files = array('test.txt','machin.txt','truc.txt');
	$file = $files[$_SESSION['n']];
	
	$sources = array('test.txt','test.txt','test.txt');
	$source = $sources[$_SESSION['n']];
	
	$_SESSION['n'] ++;
	
	header('Content-Disposition: attachment; filename="'.$file.'"');
	readfile($source);
?>

Conclusion

Je n'ai testé ce script que sous FireFox.
Il est facile de l'améliorer, par exemple pour passer la liste de fichier en argument.
 

Commentaires et avis

signaler à un administrateur
Commentaire de noobiz le 09/03/2008 15:39:37 9/10

Ben moi je dis bravo car j'ai essayé et j'ai cherché avant de me rendre compte que  je suis meilleur en C++ donc ... 9/10.

signaler à un administrateur
Commentaire de neo2k2 le 10/03/2008 09:35:34

Je l'ai testée et je trouve cette source fort pratique. Je pense qu'il s'agit d'une bonne base pour, par exemple, un catalogue de soft ou de fichiers.

En ce sens, je pense que l'on pourrait l'améliorer en ajoutant une gestion par database et une compression gzip, par exemple, pour n'avoir qu'un seul et même fichier en téléchargement.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

telechargement multiple [ par mortiis ] Bonjour à tousJe fait un site ou il est possible de télécharger des fichiers.Je le fait par download forcé.Je me demandais s'il étais possible de fair Telechargement bien terminé !! [ par orsam ] Bonjour &#224; tous !Une petite question : Comment savoir si un download s'est bien termin&#233; ?Je m'explique ! J'ai une source, qui genere un zip s Forcer le DL d'un fichier avec espaces .... [ par arginine ] Bonjour, Voici le code que j'utilise pour forcer le t&#233;l&#233;chargement d'un fichier. Tout se passe tres bien SAUF pourles fichiers dont le nom c probléme de numérotation des fichiers lors du download [ par boudigard ] Bonjour, J'ai créé un outil qui permet le download de fichier qui ont tous une extention .srs.tar.gz . comme tout les fichier sont de la méme extentio Zone de telechargement [ par nagattaque ] Salut tout le monde... je débute en pho et déja (forcément vous me direz...) commencent les problèmes. Voila, je souhaite créer un zone de téléchargem Protégé fichier contre download [ par malik7934 ] Hello, Comment fait-on pour prot&#233;ger un fichier dans un dossier contre le t&#233;l&#233;chargement de personnes non-identifi&#233;es? Je m'expl pb de download forcé depuis une url distante [ par caviar ] Salut... j'ai un petit problème de download forcé depuis une url distante ( j'entends pas sur le même serveur que le script)...j'ai le code suivant qu Telechargement fichier .rar avec allopass [ par MYPHPSCRIPTER ] voila j ai un petit pb je viens de mettre allopass sur mon site pour gagn&#233; un petit peu de $$brouzouff$$ bref voila apres validation allopass rdi Gestion telechargement association fichier [ par esquale ] Bonjour,J'ai dans un dossier des images et des fichier .exe, les images etant des captures des .exeJe voudrais savoir comment faire pour associer dire [prob]script telechargement fichier [ par termifr ] j'essaye de faire un code php pour un script de telechargement j'aimerais un lien "cliquez ici" et quand on clique dessu on voit pas l'endroit d'ou on


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.