Enregistrer sur disque utilisateur répertoire et fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Enregistrer sur disque utilisateur répertoire et fichier

Re: Enregistrer sur disque utilisateur répertoire et fichier

par xTG » 27 févr. 2011, 00:08

C'était juste pour appuyer le fait que fonction header() ou balise <a> certains fichiers (comme les txt) ne seront jamais proposé au téléchargement de base.
Avec un fichier .txt et les headers que j'ai indiqué plus haut, j'ai juste mis text/plain comme paramètre dans le Content-Transfer-Encoding et après test ça me propose bien mon fichier .txt en téléchargement sur IE, FF, et Chrome (tous avec un paramétrage par défaut). Donc je comprend toujours pas ce que tu veux dire #-o
Beuh je suis pas l'expert pour te répondre malheureusement...
Mais si j'y pense je tâcherai de croiser mon copain et lui demander des détails. :)

Re: Enregistrer sur disque utilisateur répertoire et fichier

par moogli » 26 févr. 2011, 23:49

Je suppose que c'est dans les options microsoft a peut etre une faq pour cela ? ;)

A tu essayer le code de AB en remplacant par le bon mime ?

En demandant gentillement a google tu devrais facilement avoir les types associés à tes documents (mais bon c'est du text donc plain/text devrait suffir sauf si bien sur ton navigateur l'affiche dans ce cas un autre pourrait etre mieux... )

@+

Re: Enregistrer sur disque utilisateur répertoire et fichier

par debuteur » 26 févr. 2011, 23:01

avec IE8 quel parametres a changer pour telecharger tout type de fichier .XLS .KML .GPX

Re: Enregistrer sur disque utilisateur répertoire et fichier

par AB » 24 févr. 2011, 17:27

C'était juste pour appuyer le fait que fonction header() ou balise <a> certains fichiers (comme les txt) ne seront jamais proposé au téléchargement de base.
Avec un fichier .txt et les headers que j'ai indiqué plus haut, j'ai juste mis text/plain comme paramètre dans le Content-Transfer-Encoding et après test ça me propose bien mon fichier .txt en téléchargement sur IE, FF, et Chrome (tous avec un paramétrage par défaut). Donc je comprend toujours pas ce que tu veux dire #-o

Re: Enregistrer sur disque utilisateur répertoire et fichier

par HappyTreeFred » 24 févr. 2011, 13:18

Salut j'ai presque le même problème que toi (voir ici : php-avance/recuperer-chemin-une-boite-d ... 57522.html)
Voici ce que j'ai trouvé lors de mes recherches :

Pour créer une boite de dialogue pour parcourir ton disque il faut utiliser ce code :

Code : Tout sélectionner

<?php header("Content-type: application/pdf"); header("Content-Disposition: attachment; filename=$pdf"); //$pdf contient le chemin du fichier pdf à enregistrer readfile($pdf); ?>
Tu peux l'appeler ce cette manière par exemple :

Code : Tout sélectionner

<a href="x.php?pdf=y.pdf">Télécharger le pdf</a>

Re: Enregistrer sur disque utilisateur répertoire et fichier

par xTG » 24 févr. 2011, 10:55

Ah mais je dis pas le contraire AB. :D
C'était juste pour appuyer le fait que fonction header() ou balise <a> certains fichiers (comme les txt) ne seront jamais proposé au téléchargement de base.

Re: Enregistrer sur disque utilisateur répertoire et fichier

par AB » 24 févr. 2011, 03:15

...en configurant le navigateur on pouvait ouvrir le fichier comme si c'était une page HTML (mais affiché comme un fichier txt - sans interprétation -) et ce quelque soit le type de fichier.
Son exemple portait sur un fichier zip dont le contenu était affiché par le navigateur (pas la liste des fichiers hein...).
Qu'on puisse configurer un navigateur pour avoir un comportement non standard est une chose, par contre avec un réglage par défaut, les headers permettent de proposer le fichier en téléchargement et il me semble que c'était la question :wink: ... sinon un fichier xml (le gpx est au format xml) sera automatiquement ouvert s'il est simplement dans un lien href, alors qu'un fichier zip - toujours avec les réglages par défaut - sera proposé en téléchargement.

Alors après, que l'on ne puisse pas gérer le comportement des utilisateurs, c'est tant mieux, et tant qu'ils n'ont pas que la télé comme seule source d'information, c'est une option qui leur est encore disponible :)

Re: Enregistrer sur disque utilisateur répertoire et fichier

par xTG » 24 févr. 2011, 01:58

Les header() ne peuvent pas réellement forcer quoi que ce soit, ils permettent juste de renseigner le navigateur sur le type de contenu. J'ai un ami qui suit des cours sur le web et on lui avait montré qu'en configurant le navigateur on pouvait ouvrir le fichier comme si c'était une page HTML (mais affiché comme un fichier txt - sans interprétation -) et ce quelque soit le type de fichier.
Son exemple portait sur un fichier zip dont le contenu était affiché par le navigateur (pas la liste des fichiers hein...).

Re: Enregistrer sur disque utilisateur répertoire et fichier

par AB » 24 févr. 2011, 00:50

Et qu'est-ce qui ne marche pas ? ça ouvre le fichier au lieu de le proposer en téléchargement ? Si c'est ça le plus simple est de mettre ton fichier dans une archive de type .zip ou .rar


Sinon il faudra passer par des header pour forcer le téléchargement. Par exemple :

code de la page php nommée "telechargement_fichier.php" qui force le téléchargement du fichier visugpx.gpx (en supposant que ce fichier soit dans le même répertoire que ce script)
<?php
$nom_fichier = 'visugpx.gpx';

$filesize = filesize($nom_fichier);

// Entêtes pour forcer le téléchargement, type de fichier, poids, nom
header('Content-Type: application/octet-stream');      
header("Content-Transfer-Encoding: text/xml");
header("Content-Length: ".$filesize);
header("Content-Disposition: attachment; filename=\"".$nom_fichier."\"");

// Différents code pour ne pas mettre le fichier dans le cache du navigateur
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public");
header("Pragma: no-cache");
header("Expires: 0");

readfile($nom_fichier);
exit;

?>
Et dans ta page html
<a href="telechargement_fichier.php">télécharger</a>

Tu peux aussi passer en paramètre le nom du fichier par exemple
<a href="telechargement_fichier.php?fichier=visugpx.gpx">télécharger</a>
pour récupérer $_GET['fichier'] dans ta page php. Mais dans ce cas tu dois absolument trouver un moyen pour contrôler la valeur de $_GET['fichier'] qui servira pour le téléchargement sinon c'est une faille MAJEURE de sécurité (et ton site risque de ne pas survivre longtemps).

Re: Enregistrer sur disque utilisateur répertoire et fichier

par debuteur » 23 févr. 2011, 22:33

La balise html a fonctionne avec tout type de fichier. La différence d'interprétation vient ensuite du navigateur.
Si ton navigateur ne télécharge pas le fichier c'est à voir avec sa configuration. :)
.. J'ai IE8 sous XP quels parametres a changer afin de pouvoir traiter tous les fichiers ...

Re: Enregistrer sur disque utilisateur répertoire et fichier

par xTG » 23 févr. 2011, 19:42

La balise html a fonctionne avec tout type de fichier. La différence d'interprétation vient ensuite du navigateur.
Si ton navigateur ne télécharge pas le fichier c'est à voir avec sa configuration. :)

Re: Enregistrer sur disque utilisateur répertoire et fichier

par debuteur » 23 févr. 2011, 19:40

<a href="lien_vers_ton_fichier">Télécharger</a>
:?:
merci
je dis merci car ça marche avec un fichier .XLS mais PAS pour un fichier .GPX ou .KML

et ce qui m'interesse c'est de telecharger le fichier .GPX ( j'utilise un site qui veut .GPX pour creer un circuit sur carte IGN )
et cette manip l'inclure dans mon site

Re: Enregistrer sur disque utilisateur répertoire et fichier

par moogli » 22 févr. 2011, 02:23

????
arreter d'envoyer ce genre de reponse ...si vous ne savez pas avouez le

ce n'est pas une question de savoir mais de compréhension vu que la question n'est pas une (commande pour enregistrer un fichier sur disque dur) et qui ne respecte pas la charte.

Ok les autres on étaient plus sympa mais sans bonjour + svp / merci et sans question précise je ne me fatigue pas ...

sinon http://fr.selfhtml.org

@+

Re: Enregistrer sur disque utilisateur répertoire et fichier

par stealth35 » 21 févr. 2011, 23:33

comme à dit Ryle t'as juste a faire un lien HTML vers ton fichier zip

Re: Enregistrer sur disque utilisateur répertoire et fichier

par debuteur » 21 févr. 2011, 23:29

????
arreter d'envoyer ce genre de reponse ...si vous ne savez pas avouez le