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 :

extraire des données du fichier excel


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 180
    Points : 73
    Points
    73
    Par défaut extraire des données du fichier excel
    salut,

    j'ai un fichier excel qui contient plusieurs lignes et une seule colonne ( en fait il contient plusieurs numéros téléphones )


    et j'ai un seul message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = "message%20de%20test";

    je veux faire un script php qui permet l'envoi de ce message vers tous les numéros qui sont dans le fichier excel


    l'envoi du message est fait avec ce genre de fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function sendMessage($num,$text ) {
     
    // ici on dois lancer cette requête 
           http://10.80.80.99:9998/sendsms?tel=$num&text=$text
    }


    à mon avis on dois convertir le fichier excel ver un fichier csv

    puis développer un script php pour récupérer les numéros , les mettre dans un tableau ou une list

    puis faire une boucle et faire appel à la fonction sendMessage qui permet l'envoi du message


    donc le plus important a faire est comment récupérer les lignes du fichiers csv et les mettre dans un tableau


    ou bien au lieu de le mettre dans un tableau on dois les enregistrer dans une base de données mysql et par la suite faire une autre fonction qui permet la récupération des ce numéros de la base mysql



    merci d'avance

  2. #2
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Si tu as un fichier Excel, tu peux t'orienter vers PHPExcel qui est plutôt performant, efficace et t'évitera la conversion en csv.
    Sinon tu peux effectivement convertir ton fichier en CSV et utiliser fgetcsv pour le parser.
    Dans un cas comme dans l'autre, le passage par une BDD est inutile, sauf à ce que tu souhaites garder une trace des envois effectués, avec une date d'envoi, et le retour du web service que tu appelles (l'envoi du SMS a réussi / échoué) par exemple.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 180
    Points : 73
    Points
    73
    Par défaut
    merci pour votre réponse


    j'arrive à faire l'extraction du numéros du fichier csv avec ce code


    Code : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
     
    //Fichier CSV à parser
    $fichier = 'listNum.csv';
    //On vérifie que le fichier existe bien :)
    $text = "Merci d’avoir participé au fête à la prochaine";
     
    function send($num,$text) {
    URL="http://10.10.10.15:9998/sendsms?tel=$num&text=$text";
      http_get($URL);
     
    }
     
     
    if (file_exists($fichier))
    {
    //On l'ouvre en mode "read only"
    $fp = fopen($fichier, 'r');
    //Tant que l'on n'a pas finit de lire le fichier
    while (!feof($fp)){
    //On lit les 4096 caractères de la ligne
    $ligne = fgets($fp,4096);
    /* On met dans un tableau toutes les données, séparées par des points virgules */
    $liste = explode(';',$ligne);
    /* On crée une colonne contenant les données pour chacune d'entre elles en parsant le tableau */
    foreach($liste as $element)
    {
    send(trim($element),$text);
     
    }
     
    }
    //On ferme le fichier
     
    fclose($fp);
    }
    else
    echo "Fichier introuvable !";
     
     
    ?>

    mon but actuelle est comment envoyer ce message avec les caractères spéciaux : é , à ,ê ..

    normalement le é devient %E9
    aussi je veux juste vérification de la syntaxe du lancement de requête http

    j'ai essayé dans la fonction "send" d'utiliser ce code pour lancer la requête

    autre chose à dire est si on met dans la fonction "send" ce code :


    function send($num,$text) {
    echo "test";
    echo $num;
    echo "</br>";

    }

    a noter que le fichier listNum.csv contient deux numéro : 99998888 et 77451247
    si j’exécute ce script il m'affiche : test99998888
    test77451247
    test


    donc test est affiché trois fois qui n'est pas normale normalement elle dois être affiché deux fois

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/08/2011, 12h05
  2. [XL-2010] vbaexcel recherche et envoye des données de fichier excelà un autre fichier excel
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/08/2011, 14h42
  3. [Oracle] extraire des données oracle vers excel
    Par chahrazed dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/04/2009, 11h29
  4. Réponses: 8
    Dernier message: 06/03/2008, 16h32
  5. [VBA-E]Importer des données de fichiers excel fermés
    Par bart64 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/04/2006, 11h35

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