Envoie de mail avec pièce jointe

Signaler
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013
-
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013
-
salut j'ai recuperé un script que je voudrais utiliser mais il se trouve que j'ai des erreur alors je voudrais de l'aide . merci d 'avance.
voici les erreurs affichées :
1.
Warning: fread() expects parameter 1 to be resource, boolean given in C:\wamp\www\GESTION COURRIER BERTE\pages\AddImputation_F.php on line 101

2.
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\wamp\www\GESTION COURRIER BERTE\pages\AddImputation_F.php on line 103
3.
Warning: fopen(upload_fichier/Lighthouse.jpg) [function.fopen]: failed to open stream: No such file or directory in C:\wamp\www\GESTION COURRIER BERTE\pages\AddImputation_F.php on line 100
4.
Warning: filesize() [function.filesize]: stat failed for upload_fichier/Lighthouse.jpg in C:\wamp\www\GESTION COURRIER BERTE\pages\AddImputation_F.php on line 101
5.
Warning: fread() expects parameter 1 to be resource, boolean given in C:\wamp\www\GESTION COURRIER BERTE\pages\AddImputation_F.php on line 101
Call Stack
6.
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\wamp\www\GESTION COURRIER BERTE\pages\AddImputation_F.php on line 103


voici mon code php
<?php
extract($_POST);
if(isset($NumEnreg) && !empty($NumEnreg)){
/*faut securiser*/ 
foreach($_POST as $k =  > $v){ 
$v=mysql_real_escape_string(strip_tags($v)); 
$_POST[$k]=$v; 
} 
   
    $NumEnreg=trim($_POST["NumEnreg"]);
    $dateArrCourrier=trim($_POST["dateArrCourrier"]);
$dateReinsert=trim($_POST["dateReinsert"]);
$expediteur=trim($_POST["expediteur"]);
$destinataire=trim($_POST["destinataire"]);
$DateImput=trim($_POST["DateImput"]);
$delaisImput=trim($_POST["delaisImput"]);
$instructions=trim($_POST["instructions"]);
$autreInstruction=trim($_POST["autreInstruction"]);
$contact=trim($_POST["contact"]);
$NoteDirCab=trim($_POST["NoteDirCab"]);
$NoteMinitr=trim($_POST["NoteMinitr"]);
$monemail=trim($_POST["monemail"]);
 //requète sql
    $sql = "SELECT NumEnreg FROM Courrierimputation WHERE NumEnreg='$NumEnreg'"; 
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());  
     
    // on compte le nombre de résultats 
    $res = mysql_num_rows($req); 

      if($res!=0)  // l'url existe déjà, on affiche un message d'erreur 
        { 
             $msg = 'Désolé, mais ce numero  existe déjà dans notre base.'; 
             echo '<script>alert(\' '.$msg.' \');</script>';
        } 
      else  // L'url n'existe pas, on insère les informations du formulaire dans la table 
         { 
                      // Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $clef_activation = "";
                         
                         foreach($caracteres_aleatoires as $i)
                         {
                              $clef_activation .= $caracteres[$i];
                         }
// insertion de l'ex-combattants
 $sql = "INSERT INTO Courrierimputation(      id,NumEnreg,dateArrCourrier,expediteur,destinataire,monemail,DateImput,delaisImput,instructions,autreInstruction,contact,NoteDirCab,NoteMinitr,clef)																																																																																																																																																																																				VALUES('','".$NumEnreg."','".$dateArrCourrier."','".$expediteur."','".$destinataire."','".$monemail."','".date("Y-m-d")."','".$delaisImput."','".$instructions."','".$autreInstruction."','".$contact."','".$NoteDirCab."','".$NoteMinitr."','".$clef_activation."')";
      // on insère les informations du formulaire dans la table  
    $result= mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
$id_insert = mysql_insert_id();
echo $id_insert;
  // echo 'Ok';
      }
  if($result) 
     {
     $q = mysql_query("SELECT * FROM Courrierimputation where NumEnreg=$NumEnreg"); // requete 
  if (!$q) {
                  echo 'Impossible d\'exécuter la requête : ' . mysql_error();
                    exit;
                }
while ($row = mysql_fetch_assoc($q)) {
ini_set('error_reporting', E_ALL); 
ini_set('display_errors', 1); 
ini_set('SMTP', 'smtp.aviso.ci'); 
ini_set('smtp_port', 25); 
ini_set('sendmail_from','cabinetvictimesdeguerre@aviso.ci'); 
       
   // To
       
 $mail = $row['monemail'] ;
 if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui présentent des bogues.
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = "Ce courrier vous est imputé . Veuillez l'ouvvir et suivre les instruction . merci .";
$message_txt .= "Pour confirmer la reception du courrier, Veuillez  cliquer sur le lien suivant :\n";
$message_txt .= "http://localhost/GESTION COURRIER MINISTERE_email_AJAX_TEST_Ac_Rec";
$message_txt .= "/accuse-Recept-Mess.php?id=".$id_insert;
$message_txt .= "&clef=" . $clef_activation;
$message_html = "<html><head></head> Salut ! , Ce courrier vous est imputé . Veuillez l'ouvvir et suivre les instruction  . merci .  .</html>";
$message_html .  = "Pour confirmer la reception du courrier, Veuillez  cliquer sur le lien suivant :\n";
$message_html .= "http://localhost/GESTION COURRIER MINISTERE_email_AJAX_TEST_Ac_Rec";
$message_html .= "/index.php?page=accuse-Recept-Mess&=".$id_insert;
$message_html .= "&clef=" . $clef_activation;
//========
//requète pour recuperer le nom de l'image //AND servicecourrier.id_sc=$dernier_id
  $qt = mysql_query("SELECT renseigner.fichier_choisi,renseigner.id_victime,servicecourrier.id_sc,servicecourrier.NumEnreg,courrierimputation.NumEnreg FROM renseigner , servicecourrier,courrierimputation  WHERE renseigner.id_victime=servicecourrier.id_sc AND servicecourrier.NumEnreg=courrierimputation.NumEnreg  "); // requete 
  if (!$qt) {
                  echo 'Impossible d\'exécuter la requête : ' . mysql_error();
                    exit;
                }
while ($row = mysql_fetch_assoc($qt)) {
$monImage = $row['fichier_choisi'] ;
//=====Lecture et mise en forme de la pièce jointe.
$fichier   = fopen($monImage, "r");
$attachement = fread($fichier, filesize("$monImage"));
$attachement = chunk_split(base64_encode($attachement));
fclose($fichier);
//==========
 
//=====Création de la boundary.
$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());
//==========
 
//=====Définition du sujet.
$sujet = "COURRIER MECVG !";
//=========
 
//=====Création du header de l'e-mail.
$header = "From: "MECVG"<soulzana@yahoo.fr>".$passage_ligne;
$header.= "Reply-to: "MECVG" <soulzana@yahoo.fr>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/mixed;".$passage_ligne." boundary="$boundary"".$passage_ligne;
//==========
 
//=====Création du message.
$message = $passage_ligne."--".$boundary.$passage_ligne;
$message.= "Content-Type: multipart/alternative;".$passage_ligne." boundary="$boundary_alt"".$passage_ligne;
$message.= $passage_ligne."--".$boundary_alt.$passage_ligne;
//=====Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset="ISO-8859-1"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
 
$message.= $passage_ligne."--".$boundary_alt.$passage_ligne;
 
//=====Ajout du message au format HTML.
$message.= "Content-Type: text/html; charset="ISO-8859-1"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
 
//=====On ferme la boundary alternative.
$message.= $passage_ligne."--".$boundary_alt."--".$passage_ligne;
//==========
 
 
 
$message.= $passage_ligne."--".$boundary.$passage_ligne;
 
//=====Ajout de la pièce jointe.
$message.= "Content-Type: image/jpeg; name="upload_fichier/image.jpg"".$passage_ligne;
$message.= "Content-Transfer-Encoding: base64".$passage_ligne;
$message.= "Content-Disposition: attachment; filename="upload_fichier/image.jpg"".$passage_ligne;
$message.= $passage_ligne.$attachement.$passage_ligne.$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne; 
//========== 
//=====Envoi de l'e-mail.
if(mail($mail,$sujet,$message,$header)){
  echo'
mail envyé!!!!!!!
';
  }
  else{
        echo'
';
  }
//==========
 }
     }
  
   }
  //}
}else
{
 $msg = "Vous n avez pas tapé le bon numero";
 echo utf8_encode($msg);
}
?>

1 réponse

Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

je crois que les erreurs se trouvent a ce niveau
//=====Lecture et mise en forme de la pièce jointe.
$fichier   = fopen($monImage, "r");
$attachement = fread($fichier, filesize("$monImage"));
$attachement = chunk_split(base64_encode($attachement));
fclose($fichier);
//==========