Envoi par mail d'un fichier
Résolu
ranita_1990
Messages postés
17
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
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 !