Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    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 : 0
    Points
    0

    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 Vincent
    Inscrit en
    juillet 2005
    Messages
    21 221
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 221
    Points : 30 918
    Points
    30 918

    Par défaut

    Montre nous ton code et précise ce qui ne fonctionne pas et ce que tu obtiens.

  3. #3
    Invité de passage
    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 : 0
    Points
    0

    Par défaut

    Ce code juste pour créer acteurs.xls
    Code :
    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 Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2012
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2012
    Messages : 764
    Points : 1 374
    Points
    1 374

    Par défaut

    Bonjour,

    selon la doc il faut utiliser count() et non sizeof() pour ton $j,
    Code :
    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 :
    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

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    21 221
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 21 221
    Points : 30 918
    Points
    30 918

    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 ?

  6. #6
    Invité de passage
    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 : 0
    Points
    0

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •