Création fichier avec PHP --> BaseDeDonnées

Résolu/Fermé
Quedza Messages postés 243 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 21 janvier 2022 - 10 janv. 2012 à 13:35
Quedza Messages postés 243 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 21 janvier 2022 - 11 janv. 2012 à 14:33
Bonjour,

Je voudrais envoyer sur base de données un fichier CSV créé avec PHP, et cela immédiatement après la création automatique, afin de pouvoir télécharger une copie depuis la base de donnée quand cela me chante.

Pour le moment, je n'arrive qu'à créer le fichier CSV et à proposer le téléchargement du fichier à l'utilisateur.

Pour tout avouer, je voudrais aussi envoyer simultanément ce fichier CSV en pièce jointe sur boîte e-mail.

Un grand merci pour toute aide.

Laurent

A voir également:

14 réponses

Anoen Messages postés 196 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 11 septembre 2013 25
10 janv. 2012 à 15:13
Ok. Alors pour le stockage du CSV il y a deux pistes :

1. Stocker uniquement le chemin vers le fichier dans un champ varchar.

2. Stocker le fichier lui-même sous forme d'un champs Blob.

Pour l'envoi de mail via PHP, il y a pas mal de documentation là dessus, je te laisse chercher. Il te suffira de lancer l'envoi de mail juste après le INSERT INTO en base de donnée.
1
Anoen Messages postés 196 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 11 septembre 2013 25
10 janv. 2012 à 14:38
Hum oui, où est-ce que tu bloques exactement ?
0
Quedza Messages postés 243 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 21 janvier 2022 18
10 janv. 2012 à 14:55
Merci de t'être arrêté sur mon problème.

Je n'arrive qu'à proposer un fichier de résultats au surfeur qui s'est amusé à faire mon jeu.

Mon problème est que je ne sais pas comment copier le même fichier de résultat sur la base de donnée et dans la boîte aux lettres (en pièce jointe puisque c'est un fichier).
0
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 312
10 janv. 2012 à 15:09
de quel forme sont tes résultats ?
normalement tu as juste a ajouter les résultats dans la bdd et c'est tout
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Quedza Messages postés 243 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 21 janvier 2022 18
Modifié par Quedza le 10/01/2012 à 15:44
Voilà.

...
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=".$resultat.".csv");
print $fichier;
exit;

De cette façon, quand la page qui contient ce bout de code et appelée, elle propose le téléchargement du fichier CSV. J'aimerai pouvoir mettre ce fichier sur la base de donnée (accompagné d'autres infos) avec une simple requête SQL. Est-ce possible ? Ensuite, l'envoi de ce même fichier dans une boîte aux lettre est moins utile...
0
Anoen Messages postés 196 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 11 septembre 2013 25
10 janv. 2012 à 16:26
J'ai la furieuse impression de parler dans le vide ^^
0
Quedza Messages postés 243 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 21 janvier 2022 18
10 janv. 2012 à 17:00
Désolé ; en effet, je n'avais pas vu ton message. Merci. J'avais juste répondu à Vordano avec le lien de la boîte e-mail qui m'a tout de suite dirigé vers le formulaire de réponse.

Mais au niveau de compréhension dans lequel je me trouve, cela ne m'avance guère...

Mais d'après ce que j'ai compris, selon toi, il suffirait de mettre '.$resultat.'.csv' dans un requête d'importation pour que le fichier soit présent dans un colonne de type blob ? Est-ce que je pourrais le télécharger au format CSV lors d'une requête du contenu de ma table ?
0
The Dead T Messages postés 80 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 19 janvier 2012 17
Modifié par The Dead T le 10/01/2012 à 17:02
@Anoen :
D'autant plus que ta première proposition est celle qui résoudrait probablement le plus facilement son problème...

@Quedza
Comme l'a dit Anoen, je trouve que la façon la plus simple de "stocker" ton fichier dans ta base de donnée, afin de pouvoir le récupérer facilement, est de simplement enregistrer le chemin qui mène vers le fichier sur ton serveur.
0
Anoen Messages postés 196 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 11 septembre 2013 25
10 janv. 2012 à 17:06
Voici une très bon exemple :
http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/uploading-files-to-mysql-database.aspx

Je ne détaillerai rien ici, c'est à toi de chercher et de comprendre comment ça fonctionne.
0
Quedza Messages postés 243 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 21 janvier 2022 18
10 janv. 2012 à 17:23
Merci, Dead et Anoen...

Je regarderai ça demain.

On me demande de stocker les fichiers, et non faire de simples liens...

Bonne soirée.
0
Anoen Messages postés 196 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 11 septembre 2013 25
10 janv. 2012 à 17:30
Stocker des fichiers pleins en db c'est jamais top. Le lien que je t'ai donné te permettra de faire ce que tu veux.
0
Quedza Messages postés 243 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 21 janvier 2022 18
10 janv. 2012 à 17:44
J'ai cru comprendre en le visionnant rapidement.

Anoen : Tu es sage (c'est bien mieux de me laisser trouver moi-même que de me balancer un code tout cuit ici, même s'il marche), mais je trouve que ta façon de me dire que tu ne me détailles pas pour mon bien est un peu sèche...

Bonne soirée !!! Je pense qu'il y a des problèmes autrement compliqués...
0
graffx Messages postés 6430 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 2 017
10 janv. 2012 à 17:48
On ne stocke pas des fichiers dans une base de données, juste le nom de ces fichiers.

Tu stockes donc par exemple dans la bdd le nom de ton fichier exemple.csv

ensuite via php

$fichier = 'exemple.csv"

http://www.tonsite.com./fichiers/<?php echo $fichier; ?>

0
Quedza Messages postés 243 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 21 janvier 2022 18
11 janv. 2012 à 13:39
Merci à tous ! Problème réglé.
0
Quedza Messages postés 243 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 21 janvier 2022 18
11 janv. 2012 à 14:33
Ah, j'ai enfin compris la nuance entre stocker carrément sur la base de données et stocker les liens... Ce qui, pour le commun des mortels que je fus, revenait du pareil au même.
0