2010-05-19 6 views
2

J'ai créé une solution personnalisée dans WordPress qui va générer un fichier CSV à télécharger en cliquant sur un simple lien hypertexte, directement lié à ce fichier. Au lieu d'être invité à télécharger le fichier sur l'ordinateur; le fichier CSV s'ouvre dans la fenêtre du navigateur. FWIW Je suis sur Media Temple en utilisant une installation vanille de WordPress.Ne pas être invité à télécharger le fichier CSV

Répondre

4

Envoyez le bon type mime

header('Content-type: text/csv'); 

et utiliser le Content-Disposition en-tête pour lui dire télécharger: http://www.jtricks.com/bits/content_disposition.html

header('Content-Disposition: attachment; filename="mycssfile.csv"'); 

Vous voulez toujours envoyer le type MIME correct, sinon les pare-feu, logiciel anti-virus et certains navigateurs peuvent avoir des problèmes avec elle ...

+0

A travaillé super! Merci pour le lien vers les ressources aussi! – hsatterwhite

0

Vous devez envoyer au navigateur un type MIME de application/csv afin de décharger la responsabilité de la gestion du fichier selon ce que le système d'exploitation recommande (ou l'utilisateur choisit).

En PHP (avant toute sortie est envoyée au client):

header('Content-type: application/csv'); 
2

Vous pouvez utiliser la fonction PHP header() pour modifier le contenu de type

header('Content-Type: application/csv'); 
header('Content-Disposition: attachment; filename="myFile.csv"'); 

Le code ci-dessus forcera une invite à l'utilisateur à télécharger. où myFile.csv doit être remplacé par le chemin d'accès au fichier que vous voulez télécharger.

+0

Merci pour l'aide sur ce! – hsatterwhite

2

Cela fonctionne:

$filename = 'export.csv'; 
header('Content-type: application/csv'); 
header('Content-Disposition: attachment; filename='.$filename); 

Aussi, personnellement, je n'aime pas les liens sur mes sites, j'aime les boutons. Si vous voulez faire un bouton pour la fonction d'exportation, vous pouvez utiliser le code ci-dessous. Je pensais juste que je l'afficherais parce qu'il m'a fallu un peu de comprendre la première fois :)

<input type="button" value="Export to CSV" onClick="window.location.href='something.php?action=your_action';"/> 
+0

Belle solution, j'apprécie votre aide! :) – hsatterwhite

Questions connexes