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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Envoyer des pièces jointes à des adresses mail en php en utilisant fichier excel


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : stagiaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Envoyer des pièces jointes à des adresses mail en php en utilisant fichier excel
    Bonjour
    Je suis débutante en php
    J'ai un fichier excel qui contient des adresses mails.
    Il faut que je parcours tout fichier et extraire les adresses afin de leurs envoyer un mail avec des pièces jointes
    Il faut que l'envoie soit automatique
    J'ai inclut la bibliothèque Excel reader mais je suis bloqué
    Quelqu'un peut m'aider ?

  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
    Montre nous ton code et précise ce qui ne fonctionne pas et ce que tu obtiens.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : stagiaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Ce code juste pour créer acteurs.xls
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    require_once 'excel_reader2.php';
    $data = new Spreadsheet_Excel_Reader("acteurs.xls");
    ?>
    mais lorsque j’exécute une erreur
    Assigning the return value of new by reference is deprecated in C:\wamp\www\Nouveau dossier\excel_reader2.php on line 904
    Donc il y'a un problème dans excel_reader2.php
    comment je peux avancer pour parcourir le fichier et extraire les adresses mails
    et merci

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonjour,

    selon la doc il faut utiliser count() et non sizeof() pour ton $j,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //ça
    $j = sizeof($ligne);
     
    //Remplasser par
    $j = count($ligne);
    tu peut remplasser ta première boucle for() (celle avec le fgetscsv()) qui est lourde à écrire et à lire par un simple while:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for ($ligne = fgetcsv($fic, 1024, ";"); !feof($fic); $ligne = fgetcsv($fic, 1024, ";")) {
     
    //Remplasser par
    while( ($ligne = fgetcsv($fic, 1024, ";")) !== FALSE ){
    Ensuite que t'affiche ton code ? Quel problème rencontre tu ?


    EDIT : Réponse donnée avant la modification du code d'exemple de jemna
    une réponse vous a permis d'avancer ?

  5. #5
    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
    L'erreur que tu rencontres est une information et ne doit pas être bloquante ; est-ce que tu as d'autres problèmes à part celle la ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : stagiaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    J'ai créer un fichier texte file.txt dont je vais récupérer tout le fichier excel
    Puis j'ai fait appel à la fonction get_addresses($file).
    Le problème que le fichier file.txt ne contient que la dernère case du fichier excel et la fonction get_addresses($file) ne fait aucun traitement.
    Voiçi le code Quelq'un peut m'aider et me corriger s'il ya une faute dans ce code

    <?php
    error_reporting(E_ALL ^ E_NOTICE);
    require_once 'excel_reader2.php';
    $reader=new Spreadsheet_Excel_Reader();
    $reader->setUTFEncoder('iconv');
    $reader->setOutputEncoding('UTF-8');
    $filename="acteurs.xls";
    $reader->read($filename);

    foreach($reader->sheets as $k=>$data)
    {
    echo "\n\n ".$reader->boundsheets[$k]."\n\n";

    foreach($data['cells'] as $row)
    {
    foreach($row as $cell)
    {

    4
    $f = fopen ( "file.txt" , "w" );
    fwrite ( $f , "$cell\t" );
    fclose ( $f );
    // echo "$cell\t";
    get_adresses($f);

    }
    echo "\n";
    }
    }


    function get_addresses($file) {
    $breaking = array(' ', ',', '>', '<', "\t", "\r", "\n");
    $addr = array();
    $data = explode('@', file_get_contents($file));
    // Alternative for PHP < 4.3.0:
    // $data = explode('@', implode('', file($file)));
    $n = count($data);
    for ($i = 1; $i < $n; $i++) {
    $addr[$i-1] = '@';
    $begin = 0;
    $end = strlen($data[$i-1]) - 1;
    while ((!in_array($data[$i-1]{$end}, $breaking)) and ($begin <= $end)) {
    $addr[$i-1] = $data[$i-1]{$end} . $addr[$i-1];
    $end--;
    }
    $begin = 0;
    $end = strlen($data[$i]) - 1;
    while ((!in_array($data[$i]{$begin}, $breaking)) and ($begin <= $end)) {
    $addr[$i-1] .= $data[$i]{$begin} ;
    $begin++;
    }
    }
    if (count($addr) == 0) {
    return FALSE;
    } else {
    return $addr;
    }
    }
    ?>
    Quelqu'un peut m'aider

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/02/2014, 20h41
  2. Affichage des pièces jointes dans Windows Mail
    Par Gazoute dans le forum Outlook Express / Windows Mail
    Réponses: 0
    Dernier message: 13/10/2011, 10h27
  3. Download des pièces jointes d'un mail auto
    Par azsdcv dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 09/02/2011, 04h55
  4. Réponses: 2
    Dernier message: 12/11/2008, 14h11
  5. Encodage des pièces jointes d'un mail : toujours base64 ?
    Par Michaël dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 15/10/2005, 12h34

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