Aider moi svp

ahlemlo Messages postés 225 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 21 mai 2009 - 5 juin 2008 à 17:28
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 - 6 juin 2008 à 11:11
bonjour
j'ai pas encore trouver la réponse
aider moi je suis bloqué

voici j'ai mis ce code pour envoi mail avec piéce jointe j'ai réçu le mail mais la piece jointe ne s'affiche pas
<?
function mail_attachement($to , $sujet , $message , $fichier , $typemime , $nom , $reply , $from){
 $limite = "_parties_".md5(uniqid (rand()));
 
  $mail_mime = "Date: ".date("l j F Y, G:i")."\n";
  $mail_mime .= "MIME-Version: 1.0\n";
  $mail_mime .= "Content-Type: multipart/mixed;\n";
  $mail_mime .= " boundary="----=$limite"\n\n";
 
  //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML
  $texte = "This is a multi-part message in MIME format.\n";
  $texte .= "Ceci est un message est au format MIME.\n";
  $texte .= "------=$limite\n";
  $texte .= "Content-Type: text/plain; charset="iso-8859-1"\n";
  $texte .= "Content-Transfer-Encoding: 7bit\n\n";
  $texte .= $message;
  $texte .= "\n\n";
 
  //le fichier
  $attachement = "------=$limite\n";
  $attachement .= "Content-Type: $typemime; name="$nom"\n";
  $attachement .= "Content-Transfer-Encoding: base64\n";
  $attachement .= "Content-Disposition: attachment; filename="$nom"\n\n";
 
  $fd = fopen( $fichier, "r" );
  $contenu = fread( $fd, filesize( $fichier ) );
  fclose( $fd );
  $attachement .= chunk_split(base64_encode($contenu));
 
  $attachement .= "\n\n\n------=$limite\n";
  return mail([mailto:'essadisamia@yahoo.fr' 'essadisamia@yahoo.fr'], $sujet, $texte.$attachement, "Reply-to: $reply\nFrom:
$from\n".$mail_mime);
}
?>

merci pour tous

7 réponses

ahlemlo Messages postés 225 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 21 mai 2009
5 juin 2008 à 17:33
désolé je me suis trompé c'est ce code c'est vraiment désolé

<?
$boundary = '-----=' . md5( uniqid ( rand() ) );




$nom = $_POST['nom'];
$sujet= $_POST['sujet'];
$sujet= $_POST['sujet'];
$mail= $_POST['mail'];
 $path =$_FILES['fichier'] ; // chemin vers le fichier
  $fp = fopen($path, 'rb');
  $content = fread($fp, filesize($path));
  fclose($fp);
  $content_encode = chunk_split(base64_encode($content));


 


$message = "nom :\t$nom\n";


$headers = "From:$nom< $mail >"."\n";
  $headers .="Reply-To: $mail"."\n";
  $headers .= "MIME-Version: 1.0\n";
  $headers .= "Content-Type: multipart/mixed; boundary="$boundary"";
 $message  = "Ceci est un message au format MIME 1.0 multipart/mixed.\n\n";
  $message .= "--" . $boundary . "\n";
  $message .= "Content-Type: text/plain; charset="iso-8859-1"\n";
  $message .= "Content-Transfer-Encoding: 8bit\n\n";


  
     $message .= 'Content-Type: image/jpeg; name="nom_du_fichier.jpg"'."\n";
     $message .= 'Content-Transfer-Encoding: base64'."\n";
     $message .= 'Content-Disposition:attachement; filename="nom_du_fichier.jpg"'."\n\n";


  $message .= $content_encode . "\n";
  $message .= "\n\n";
  $message .= "--" . $boundary . "--\n";


 


     mail('mon adresse email', $sujet, $message, $headers) ;


?>
mai il m'affiche des erreur
Warning : fopen() expects parameter 1 to be string, array given in c:\program files\easyphp1-8\www\mail_piéce jointe\envoi.php on line 10

Notice: Array to string conversion in c:\program files\easyphp1-8\www\mail_piéce jointe\envoi.php on line 11

Warning: filesize(): Stat failed for Array (errno =2 - No such file or directory) in c:\program files\easyphp1-8\www\mail_piéce jointe\envoi.php on line 11

Warning: fread(): supplied argument is not a valid stream resource in c:\program files\easyphp1-8\www\mail_piéce jointe\envoi.php on line 11

Warning: fclose(): supplied argument is not a valid stream resource in c:\program files\easyphp1-8\www\mail_piéce jointe\envoi.php on line 12

svp corréger moi ces erreurs
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
5 juin 2008 à 17:47
Hello,

$path =$_FILES['fichier'] ; // chemin vers le fichier << probleme ici, c'est un tableau

à remplacer par $_FILES['fichier']['tmp_name']

win
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
5 juin 2008 à 17:48
Et pour lire un fichier entier, t'as une fonction : file_get_contents(), plus rapide =)

win
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
5 juin 2008 à 18:00
$path =$_FILES['fichier'] ; // chemin vers le fichier

c'est un array ca...

essaie ca :

$path =$_FILES['fichier']['tmp_name'] ; // chemin vers le fichier

au pire, fait un print_r($_FILES); pour etre sur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
5 juin 2008 à 18:05
12 minutes de retard coucou747 :D

win
0
ahlemlo Messages postés 225 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 21 mai 2009
6 juin 2008 à 09:27
ok j'ai fai que vous m'avai di
mai maintenant il m'affiche cette erreur
malgré j'ai recu le mail mais la piece jointe ne s'affiche pas et donc quoi faire
aider moi!!!!!ca fait une semaine que je cherche mai j'ai rien trouver!!!

Fatal error: Maximum execution time of 30 seconds exceeded in c:\program files\easyphp1-8\www\mail_piéce jointe\envoi.php on line 42
0
winwarrior Messages postés 654 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 10 février 2009 1
6 juin 2008 à 11:11
set_time_limit(60); // où 60 est le temps limite d'execution de ton script

cependant, je te conseille de revoir ton code à la recherche d'une boucle infinie ou quelque chose du genre =)

win
0
Rejoignez-nous