Comment fais-tu la correspondance entre un compte et la date de sauvegarde dans Compte.txt?
Comment fais-tu la correspondance entre un compte et la date de sauvegarde dans Compte.txt?
Dans mon Compte.txt , il n'y a que (pour l'instant) :
Compte AB
Compte AC
Compte AD
Il fallait le dire.
Commence par établir cette correspondance et je te donnerai le principe de ce que tu as envie de faire (fastoche).
Et comment je fais ?
Parce que c'est avec ce code que je récupère le Sujet et la Date de l'email :
Je fais comment pour mettre la date dans le fichier texte ? ^^
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 $server = '{mail.gandi.net:143}INBOX'; $username = Confidentiel $password = Confidentiel $mailbox = imap_open($server , $username, $password); $mails = FALSE; if(FALSE === $mailbox) { $err = 'La connexion a échoué. Vérifiez vos paramètres!'; } else { $info = imap_check($mailbox); if(FALSE !== $info) { $nbMessages = min(50, $info->Nmsgs); $mails = imap_fetch_overview($mailbox, '1:'.$nbMessages, 0); } else { $err = 'Impossible de lire le contenu de la boite mail'; } } if(FALSE === $mails) { echo $err; } else { /*$informationboite = 'La boite aux lettres contient '.$info->Nmsgs. 'message(s) dont '. $info->Recent.' recent(s)';*/ foreach($mails as $mail) { echo 'Objet : ' . (iconv_mime_decode($mail->subject,0, "ISO-8859-1")) . ' Date de réception : ' . $mail->date . '<br>'; } }
Est ce que sujet vaut la colonne compte, sinon comment fais-tu pour l'avoir?
ne peux-tu pas l'avoir directement(compte) avec avec la date?
Mon fichier Compte.txt, je l'ai rempli manuellement.
Où se trouvent les comptes? dans le rapport? si oui en pièces jointes ou pas; sinon où sont-ils?Pour expliquer le tout : J'utilise un logiciel de sauvegarde : SyncBackfree, avec Syncbackfree j'envoie un rapport de sauvegarde sur un email.
Et avec mon code je récupéré ce mail, avec le sujet , et la date du mail.
Supposons qu'il y a 1000 comptes. Tu les rempliras manuellement?
Les comptes seront créé sur SyncBackFree, chaque compte enverra un rapport propre a sa sauvegarde, et dans le sujet de l'email, on peux y voir le compte , comme dans les images que j'ai fourni :
Objet : [Echec] (Simulation Abandonn�e) [Simulation] Sauevgarde CAUE Compte AB Date de réception : Wed, 7 Jun 2017 13:27:43 +0200
Voila le nom du Compte ou il sera, le nom c'est les mots en grand et en rouge.
Tu définis un tableau pour recevoir les résultats de ta requête.
Lorsque tu as le sujet, tu extrait le Compte et la date.
Tu cherches ce compte dans le tableau. s'il n'existe pas, tu l’insère dans le tableau(compte, et date) s'il existe, tu compares les deux dates et tu enregistres la plus grande en éliminant l'enregistrement qui y figure si ce n'est pas lui qui respecte la condition et en le concevant si oui.
Bonjour,
Excusez moi de pas avoir répondu avant, je l'ai pas vu. ^^
Merci de m'avoir dit comment faire, mais comme je débute a peu pres en PHP, c'est possible de m'aider un code ?
J'ai rien, ça serait d'avoir une aide pour m'aider a faire un code pour l'explication que vous m'avez donné au-dessus
Commençons par ceci
Afin de récupérer le Compte AB et ses dates de mise à jour.
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
27
28
29
30
31
32
33
34
35 $server = '{mail.gandi.net:143}INBOX'; $username = Confidentiel $password = Confidentiel $mailbox = imap_open($server, $username, $password); $mails = FALSE; if (FALSE === $mailbox) { $err = 'La connexion a échoué. Vérifiez vos paramètres!'; } else { $info = imap_check($mailbox); if (FALSE !== $info) { $nbMessages = min(50, $info->Nmsgs); $mails = imap_fetch_overview($mailbox, '1:' . $nbMessages, 0); } else { $err = 'Impossible de lire le contenu de la boite mail'; } } if (FALSE === $mails) { echo $err; } else { /* $informationboite = 'La boite aux lettres contient '.$info->Nmsgs. 'message(s) dont '. $info->Recent.' recent(s)'; */ foreach ($mails as $mail) { $compte = strpbrk((iconv_mime_decode($mail->subject, 0, "ISO-8859-1")), 'Compte AB'); //Recherche Compte AB dans le sujet (Sensible à la casse). if ($compte) { echo 'Libellé : Compte AB / / Date de réception : ' . $mail->date . '<br>'; } } }
Le code marche bien, mais ça récupére tous les autres emails, meme ceux qui ne sont pas avec le Compte AB :
On regarde les dates , c'est pareils, alors que ça correspond pas au Compte AB
Aprèsmets
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $compte = strpbrk((iconv_mime_decode($mail->subject, 0, "ISO-8859-1")), 'Compte AB'); //Recherche Compte AB dans le sujet (Sensible à la casse).
Code php : Sélectionner tout - Visualiser dans une fenêtre à part var_dump($compte);
remplacepar
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $compte = strpbrk((iconv_mime_decode($mail->subject, 0, "ISO-8859-1")), 'Compte AB'); //Recherche Compte AB dans le sujet (Sensible à la casse).
Code php : Sélectionner tout - Visualiser dans une fenêtre à part $compte = strstr((iconv_mime_decode($mail->subject, 0, "ISO-8859-1")), 'Compte AB'); //Recherche la première occurence de Compte AB dans le sujet (Sensible à la casse).
J'aimerais ce que tu as expliqué plus haut :
Tu cherches ce compte dans le tableau. s'il n'existe pas, tu l’insère dans le tableau(compte, et date) s'il existe, tu compares les deux dates et tu enregistres la plus grande en éliminant l'enregistrement qui y figure si ce n'est pas lui qui respecte la condition et en le concevant si oui.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager