IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Lire un fichier CSV envoyé avec une requête POST


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Lire un fichier CSV envoyé avec une requête POST
    Bonjour,

    J'ai conçu un programme en c++ qui me permet d'envoyer un fichier CSV à un site web.

    Ce programme marche très bien avec un site web déjà prévu à cet égard.

    J'essaie présentement de réaliser un site web en php qui reçois ce fichier et le traite comme je le souhaite.

    Mon problème est que lorsque je met met:

    Content Type = "comma-separated-values; charset=utf-8"

    dans l'entête de ma requête, je ne sait pas comment lire le fichier en PHP, car il n'apparaît pas dans la variable $_POST. Pourtant, si je met:

    Content Type = "application/x-www-form-urlencoded"

    à la place, elle apparaît dans le $_POST, mais ce n'est que du texte et ça ne fonctionne plus avec l'autre site.

    Y-a-til un moyen de récupérer un fichier CSV dans une variable quelconque en PHP?

    Merci à l'avance.

    Marm

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    mais ce n'est que du texte
    un fichier CSV n'est que du texte

    Pour qu'on puisse t'aider il faudrait que tu nous explique un minimum le principe de fonctionnement de ton systeme.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Je veux tout simplement envoyer le fichier CSV en tant que fichier et non en tant que texte.

    Et évidemment pouvoir y accéder en PHP, mais comme je l'ai dit précédemment, il n'est pas accessible depuis la variable post lorsque passé en fichier.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne peux toujours pas deviner de quelle manière tu l'envoies.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 194
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 194
    Points : 8 409
    Points
    8 409
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Marm B Voir le message
    Je veux tout simplement envoyer le fichier CSV en tant que fichier et non en tant que texte.
    Il faut faire une requête POST dont le Content-Type est multipart/form-data. PHP la traitera comme un upload de fichier, donc avec $_FILES.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Pour ça il faut passer par un formulaire, sinon passer par GET.

    Quand tu dis : "J'ai conçu un programme en c++ qui me permet d'envoyer un fichier CSV à un site web. "

    C'est à dire ? Tu fournis une adresse url avec un formulaire et il se charge de faire l'envoi à ta place ?
    Je vois pas bien l'intérêt de la chose, pourquoi ne pas envoyer directement par FTP en passant par PHP évidemment, le fichier sur le serveur pour le traiter ensuite ?
    -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
    Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
    Pensez également à cocher

    Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

    Dimension Internet

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    J'utilise POST moi pour envoyer un fichier csv et pour le lire:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <html>
    <head>
    <script type="text/javascript">
                function verifier()
                {
                    var typemime=document.getElementById('csv').value.split('.');
                    if(typemime.length!=0)
                        {
                            if(typemime[typemime.length-1].toLowerCase()!='csv')
                                {alert('Fichier csv Invalide')}
                                else
                                    {
                                        document.forms[0].submit();
                                    }
                        }
                }
            </script>
    </head>
    <body>
    <form method="POST" enctype="multipart/form-data" action="test.php">
    	<input type="file" name="fichierCsv" id="csv"/><br />
    	<input type="button" value="Importer" onclick="verifier()"/>
    </form>
    </body>
    </html>
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    if(isset ($_FILES['fichierCsv']))
    {
        $upload='./csv';
        $temp=$_FILES['fichierCsv']['tmp_name'];
        if(move_uploaded_file($temp, $upload.'/'.$_FILES['fichierCsv']['name']))
            {
                $handle=fopen($upload.'/'.$_FILES['fichierCsv']['name'], 'r');
                while (($line = fgetcsv($handle, 1000, ";")) !== FALSE)
                {
                    $i=0;
    				while($i<count($line))
    				{
    				echo $line[$i].' ';
                    $i++;
    				}
    				echo '<br/>';
                }
                fclose($handle);
            }
           else
           {
               echo 'Echec lors de l\'envoie du fichier';
           }
    }
    ?>

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/05/2010, 17h01
  2. [AC-2003] Lire un fichier CSV de 170Mo avec Access
    Par mmmxtina dans le forum VBA Access
    Réponses: 12
    Dernier message: 15/07/2009, 13h45
  3. [SQL] pb avec une requête envoyée à une bdd chez free
    Par laurentSc dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 22/02/2008, 16h24
  4. Envoyer un fichier audio en réponse à une requète
    Par pathfinder06 dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 09/11/2007, 09h28
  5. [XML] Créer un fichier sur le serveur avec le contenu d'une requête POST
    Par kingmandrax dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 27/10/2006, 00h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo