Envoi par mail d'un fichier

Résolu/Fermé
ranita_1990 Messages postés 15 Date d'inscription vendredi 13 mars 2015 Statut Membre Dernière intervention 30 mars 2018 - Modifié le 28 mars 2018 à 21:17
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 28 mars 2018 à 21:30
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
<?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:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié le 28 mars 2018 à 21:31
Bonjour,

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 !



1
forum92 Messages postés 220 Date d'inscription lundi 6 juillet 2015 Statut Membre Dernière intervention 14 août 2018 133
28 mars 2018 à 21:10
Bonjour,
Qu'elle est l'erreur à trouver ?
0