Lancer un telechargement avec le clic gauche ... + Bonus

Lancer un telechargement avec le clic gauche ... + Bonus - PHP - Programmation

Marsh Posté le 11-04-2008 à 09:19:28    

Bonjour à tous,
Voilà je suis confronter à un problème sur un script PHP que je met en place ...
 
En effet mon but est de cliquer sur un lien qui ouvre une fenetre dans laquelle une commande PHP lance automatiquement le téléchargement (afin d'eviter le fameux clique droit...) mais je voudrais qu'une fois la pop-up de DL apparait, la fenêtre se ferme automatiquent ...


$filename = "../documents/".$item_show_file['file'];
if( ! is_file($filename)) die("ACCES INTERDIT !\n" );  
header("Pragma: public" );  
header("Expires: 0" );  
header("Cache-Control: must-revalidate, post-check=0, pre-check=0" );  
header("Content-Type: application/force-download" );  
header("Content-Type: application/octet-stream" );  
header("Content-Type: application/download" );  
header("Content-Disposition: attachment; filename=".basename($filename).";" );  
header("Content-Transfer-Encoding: binary" );  
header("Content-Length: ".filesize($filename));
header("Refresh: 0; url=http://google.fr" );  
@readfile("$filename" );

J'aurais voulu rajouter un header du genre <meta http-equiv="refresh" content="0;URL=javascript:window.close()"> ...
 
A défaut de pouvoir faire ca j'aurais voulu ajouter du texte à la suite de ce script or je ne trouve pas de moyen pour le faire ... J'aurais voulu ajouter lien + texte pour fermer la fenêtre (ex : Le téléchargement va se lancer dans quelques secondes ... [ FErMER LA FENETRE ]...
 
Merci de votre aide
 
Cordialement


Message édité par Odissine le 11-04-2008 à 13:28:35
Reply

Marsh Posté le 11-04-2008 à 09:19:28   

Reply

Marsh Posté le 11-04-2008 à 15:31:54    

Quel est l'interet de cette popup ? tu peux lancer un téléchargement d'un simple clic gauche! et sans popup.

Reply

Marsh Posté le 14-04-2008 à 23:25:57    

Bah non j'ai oublié de préciser que la pluspart de mes liens sont du .doc, .xls .pdf ... donc ca s'affiche directement dans le navigateur ... donc j'aurais voulu avoir la possiblté de lancer le telechargement ou d'afficher directement la page au choix avec pour le télechargement l'affichage donc de la fenetre de DL qui se fermerais auto une fois le script lancé ...
 
Merci d'avance ;)

Reply

Marsh Posté le 15-04-2008 à 08:20:29    

Odissine a écrit :

Bah non j'ai oublié de préciser que la pluspart de mes liens sont du .doc, .xls .pdf ... donc ca s'affiche directement dans le navigateur ...


 
c'est un réglage du navigateur, ça, tu n'y peux rien.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-04-2008 à 09:36:12    

Si j'y peux qqchose, tu vois le script que j'ai mis en haut, il fonctionne très bien... Il lance le telechargement sans l'afficher direct dans le navigateur ... Apres ce que je souhaite c'est que cette fenêtre se fenetre ... mais impossible ou bien au moins je voudrais afficher une phrase avec lien pour fermer la fenêtre ... mais si je met du blabla avant le script il veut pas (normal c'est le header), si j'en met apres il s'affiche pas :( ...
Voila mon problème.

Reply

Marsh Posté le 15-04-2008 à 13:39:18    

skeye a écrit :


 
c'est un réglage du navigateur, ça, tu n'y peux rien.


non tu peux spécifier dans ton header de forcer le téléchargement [:spamafote]

Reply

Marsh Posté le 15-04-2008 à 13:44:27    

Alisteroid a écrit :


non tu peux spécifier dans ton header de forcer le téléchargement [:spamafote]


...et si le navigateur ne veut pas, il le fera pas.[:petrus75]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-04-2008 à 13:55:19    

Utilise un popup dhtml avec une fonction javascript, ce sera plus jolie, ne posera pas de problème avec les anti-popup et tu peut masquer complétement ta vrais url de cette façon si tu créer un fichier js.

Reply

Marsh Posté le 15-04-2008 à 14:36:52    

Salut
 
Pourquoi ne pas faire un code comme ceci:

Code :
  1. if (array_key_exist($_GET, 'download'))
  2. {
  3. $filename = "../documents/".$item_show_file['file'];
  4. if( ! is_file($filename)) die("ACCES INTERDIT !\n" ); 
  5. header('Content-disposition: attachment; filename="' . $fichier . '"');
  6. header('Content-Type: application/force-download');
  7. header('Content-Transfer-Encoding: binary');
  8. header('Content-Length: '. filesize($chemin));
  9. header('Pragma: no-cache');
  10. header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
  11. header('Expires: 0');
  12. readfile($filename);
  13. die();
  14. }
  15. ....
  16. <a href="<?php echo nom_du_fichier_php; ?>?download">Cliquez ici pour télécharger le fichier</a>


 
Ainsi tu n'a pas a ouvrir une autre fenêtre, la boite de dialogue s'affiche directement. Et comme tu ne fais rien a part envoyer le fichier, la page html reste telle qu'elle dans le navigateur.
 
EDIT: il vaut mieux préciser le type du fichier que tu envoies. Ex => http://www.phpsources.org/scripts62-PHP.htm


Message édité par Melendril le 15-04-2008 à 14:41:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed