Envoi par mail d'un fichier
Résolu
ranita_1990
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
bonjour
j'ai un script php qui concatene des fichiers csv dans un seul fichier par moi et ça marche bien mais j'aime envoyer le fichier obtenu par mail à une liste bien definie
voici mon code et dites moi s'il vous plait ou reside t'elle l'erreur et merci bien
NB chui debutante en dev et j'aime bien apprendre des nouvelle pistes
j'ai un script php qui concatene des fichiers csv dans un seul fichier par moi et ça marche bien mais j'aime envoyer le fichier obtenu par mail à une liste bien definie
voici mon code et dites moi s'il vous plait ou reside t'elle l'erreur et merci bien
<?php $no_redirect = true; define('DS', DIRECTORY_SEPARATOR); define('ROOT', dirname(dirname(dirname(__FILE__)))); require_once ROOT . DS . 'app' . DS . 'bootstrap.php'; class App_Helper_Cron_ImportMonth extends App_Helper_Cron { protected $taskname='ImportContacts_Month'; public function ImportMonth() { $repertoire = '/var/www/test''; $month= date('m', strtotime('-1 month')); $year = date('Y', strtotime('-1 month')); $concatFilename = $year . '-' . $month . '_Import.csv' ; $concatFile = fopen('./' . $concatFilename, 'w'); $nFichier = 0; foreach (scandir($repertoire) as $filename) { if (substr($filename, 0, 7) == ($year . '-' . $month)) { $currentFile = fopen($repertoire . $filename, 'r'); $nLine = 0; while (($data = fgets($currentFile)) !== false) { if ($nLine === 0 && $nFichier !== 0) { $nLine++; } else { $data . $nLine = 1; fputs($concatFile, $data); $nLine++; } } fclose($currentFile); $nFichier++; } } fclose($concatFile); } protected function getObjectMessage() { $message = 'Rapport d’intégration du '. substr($filename, 0, 7) == ($year . '-' . $month); return $message; } protected function getSuccessMessage() { $message = 'Vous trouverez ci-joint le rapport d\'integration pour le mois de '.substr($filename, 0, 7) == ($year . '-' . $month); return $message; } protected function getMail() { $attachments[] = $concatFilename; $objWriter->save($concatFilename); self::log($this->taskName, App_Model_Log_Cron::CRON_LOG_SUCCESS_TYPE, 'Extraction généré : '); if (self::mail( App_Helper_Config::getConfigField(array('mails', ENVIRONMENT, $this->taskName, 'to')), $this->getObjectMessage(), $this->getSuccessMessage(), $attachments, App_Helper_Config::getConfigField(array('mails', ENVIRONMENT, $this->taskName, 'cc')) )) { self::log($this->taskName, App_Model_Log_Cron::CRON_LOG_SUCCESS_TYPE, 'Mail envoyé'); } else { self::log($this->taskName, App_Model_Log_Cron::CRON_LOG_ERROR_TYPE, 'Echec envoi mail'); } } }
NB chui debutante en dev et j'aime bien apprendre des nouvelle pistes
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Envoi par mail d'un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Bonjour,
première erreur...... tu as une apostrophe en trop à la fin de ta première variable
Seconde erreur.... tu utilises une apostrophe au milieu d'une chaine contenue entre apostrope...
Donc soit tu échappes l'apostrophe... soit tu encapsules tes chaines de caractères entre guillemets au lieu de simples quotes
Pour le reste... si tu as encore des erreurs... merci d'indiquer précisément les messages rencontrés !
première erreur...... tu as une apostrophe en trop à la fin de ta première variable
$repertoire = '/var/www/test'';
Seconde erreur.... tu utilises une apostrophe au milieu d'une chaine contenue entre apostrope...
$message = 'Rapport d'intégration du '. substr($filename, 0, 7) == ($year . '-' . $month);
Donc soit tu échappes l'apostrophe... soit tu encapsules tes chaines de caractères entre guillemets au lieu de simples quotes
//soluce 1 $message = 'Rapport d\'intégration du '. substr($filename, 0, 7) == ($year . '-' . $month); //socluce 2 $message = "Rapport d'intégration du ". substr($filename, 0, 7) == ($year . '-' . $month);
Pour le reste... si tu as encore des erreurs... merci d'indiquer précisément les messages rencontrés !