begin process at 2010 02 10 14:08:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

forcer download


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

forcer download

jeudi 25 mars 2004 à 23:46:56 | forcer download

le_foy

salut

En fait j'ai le code pour forcer l'explorateur a ouvrir une fenetre pour telecharger un fichier mais je voudrai sauter cette etapes et passer directement a la fenetre qui demande le chemin d'acces ou on veut sauvegarder le fichier qqun a une idee.

foy
vendredi 26 mars 2004 à 08:23:40 | Re : forcer download

Arnotic

Administrateur CodeS-SourceS
Bonjour,

Ce n'est pas possible c'est le navigateur qui gère ca.

@+
Arnotic,
Admin CS, MVP Visual C++
vendredi 26 mars 2004 à 13:16:09 | Re : forcer download

defkrie

a moi que tu t'applelles billou et tu sorte exlporateur 7.0
non ct pas possible ct intégré à explorer
\-> Defkrie !?!
vendredi 26 mars 2004 à 13:39:56 | j'aurai p etre du commencer par ca

le_foy


Ok d'accord en fait la raison pour laquelle j'ai posee cette question est que j'ai un probleme avec le telechargement lorsque je clic sur le lien que je veux faire telecharger sur le site alors la boite de download s'ouvre avec ouvrir, sauvegarder... pour ce qui est de sauvegarder pas de prob le fichier marche mais pour ce qui est de l'ouvrir sans le sauvegarder ben y ne trouve pas le fichier how bizarre enfin bon p etre que vous avez une idee sur le pourquoi du comment de comment ca se fait.
c un fichier pdf et mon code est pour le fichier php:

?php

$fichier = '../assets/downloads/12things.pdf';
$nom_fichier = '12things.pdf';


header('Content-disposition: attachment; filename='.$nom_fichier);
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($fichier));
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile($fichier);
?>

et g un lien ds ma page source
donc voila

foy
jeudi 8 avril 2004 à 13:57:04 | Re : forcer download

Angenoir


J'ai exactement le même problème !! :(

Voici une partie de mon script :

// Exemple de variables :
// $name = "monfichier.zip";
// $mine_type = "application/zip";
// $file = "/chemin/complet/vers/monfichier.zip";

header("Content-disposition: attachment; filename=$name");
header("Content-Type: $mine_type");
header("Content-Transfer-Encoding: $mine_type\n");
header("Content-Length: ".filesize($file));
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
readfile($file);

Il se trouve que ce script marche trés bien sur tout les navigateurs récents à une exception près : ce satané IE 6 !
Lorsque l'on clique sur le bouton 'ouvrir' avec IE 6 au lieu de 'enregistrer', on optient une erreur du type 'fichier introuvable'.
Apparement IE 6 essaye d'ouvrir le fichier avant de le télécharger ou quelque chose du style. Comme par hasard, cette erreur ne se produit pas lorsque l'on utilise un fichier de type Office (.doc,.xls,etc.).

J'ai essayé en vain plusieurs type de header mais rien n'y fait :(
On m'a dit d'enlever les header relatif au cache mais là aussi, rien n'y fait ?!

Quelqu'un sait-il comment contourner le problème ? ou quelqu'un a-t-il un script qui fonctionne à 100% ?

Merci pour votre aide.
mardi 12 octobre 2004 à 17:22:33 | Re : forcer download

ziquet

J'ai exactement le meme pb et je m'en sort pas.

Il y a qd meme bien un moyen pour forcer le telechargement avec IE6 tout en gardant la fct "ouvrir" opérationnelle ?
Non ?

Si qqun à une idée !!!
mercredi 13 octobre 2004 à 10:17:49 | Re : forcer download

ziquet

J'ai trouvé !

Je l'ai trouvé en constatant que sur phpmyadmin, lorsque l'on exporte une base de données au format CSV, il me propose une fenetre "ouvrir/enregistrer" (qui marche) alors que par défaut mon navigateur ouvre les cvs en interne (je parle d'un lien href classique là).

Je me suis dc dit "comment on t il fait pour forcer le téléchargement avec une fct ouvrir qui marche ?
J'ai été voir ds le code de phpmyadmin et g regardé les différences.

Voici une version du script qui marche sur IE pour l'ouverture :

************************************************************
header("Content-disposition: attachment; filename=".$nom_fichier);
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($chemin."/".$nom_fichier));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Expires: 0");
readfile($chemin."/".$nom_fichier);
************************************************************

La seule différence, c le "no-store, no-cache" qui n'est pas présent.
D'ailleur il semblerait que la ligne cache-control soit facultative (à vérifier à long terme).

Et il semble logique que la pb vienne de là puisque l'erreur était bien un pb de cache avec IE.

Je ne sais pas pourquoi les plus gros forums ou sites donnent tous la version "problématique" de ce script alors qu'il existe une version plus simpliste qui marche mieux.

Après le "no-store, no-cache" a peut-etre un interet, perso je l'ai pas trouvé.

Voila, c t pour ceux qui auraient le pb.
vendredi 21 janvier 2005 à 08:05:52 | Re : forcer download

jcrusot

Afin de compliquer un peut, j'ai encore le problème du téléchargement forcé sous mac. Sur PC pas de problème, une fenêtre "ouvrir ou enregistrer" est proposée à l'utilisateur, mais sous MAC c'est le fichier download.php qui est téléchargé.
Quelqu'un aurait-il la solution ?
Merci
mercredi 11 octobre 2006 à 02:27:40 | Re : forcer download

Florynth

J'ai le même problème mais je ne me sert pas de "no-store,no-cache"

voici le code ($Doc est une classe que j'ai créé)

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: " . $Doc->P_Type);
header("Content-Disposition: attachment; filename=\"".$Doc->P_UserFileName . "." . $Doc->P_Ext . "\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$Doc->P_Size);
readfile($Doc->GetFullPath());

Si je fais enregistrer ça marche mais pas ouvrir et ce sur IE j'ai fait le test avec FireFox pis ça marche...

Merci de votre aide

Florynth



Cette discussion est classée dans : fichier, fenetre, forcer, download


Répondre à ce message

Sujets en rapport avec ce message

Forcer le DL d'un fichier avec espaces .... [ par arginine ] Bonjour, Voici le code que j'utilise pour forcer le téléchargement d'un fichier. Tout se passe tres bien SAUF pourles fichiers dont le nom comporte un 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 Rafraichir sans message ! [ par AshenShugar ] Salutations a tous !Voila, j'ai un petit probleme. Depuis un formulaire, j'ai une liste qui donne le nom des fichiers qui ont été uploader. Il y a un Upload :) [ par GuilleW ] Bonjour bonjour,Je souhaite faire un Upload de fichier.pour cela j'ai un image , et je souhaiterai que lorsque l'on click sur cette image, elle lance Protégé fichier contre download [ par malik7934 ] Hello, Comment fait-on pour protéger un fichier dans un dossier contre le téléchargement de personnes non-identifiées? Je m'explique: si j'ai une pa download de fichier pdf [ par matheo54 ] Bonjour,j'aurais une petite question, j'aimerai savoir comment faire pour qu'un utilisateur de mon site puisse télécharger un fichier pdf. Est ce que forcer le téléchargement et espaces dans le fichier [ par arginine ] Bonjour,J'utilise le bout de code suivant pour "forcer le télécharmenet d'un fichier": Fichier dowload.php header("Content-type: application/force-dow Forcer un téléchargement plutôt que l'ouverture d'un fichier [ par Adagyo ] Salut,Je voudrais forcer mes utilisateur à télécharger un fichier (un fichier .csv dans mon cas) plutôt qu'il s'ouvre avec excel dans le navigateur.Co download par authentification [ par jsutalex ] Bonjour à tous, je cherche à réaliser une page de download par authentification .en gros je veux pas un download.php?id=15 qui renvois juste vers un u Download de fichier [ par RockmanX ] Salut!Bon alors en fait ma question elle est pas trop php, mais je voulais savoir si quelqu'un a une idée:Je dois faire un site duquel on doit downloa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales