将多个文件作为附件发送

时间:2017-04-18 17:25:05

标签: php email

我尝试通过邮件发送多个文件作为附件,但我遇到了一些问题并征求了您的帮助。 你能帮帮我吗?

foreach($_FILES as $upload_file){
    $extension = strrchr($upload_file['name'], '.');
    $taille = filesize($upload_file['tmp_name']);
    if(!in_array($extension, $extensions)) {
        $erreur.="<li>• text";
    }
    if($taille>$taille_maxi) {
        $erreur.="<li>• text</li>";
    }
    if(count($upload_file['name']) > $nbr_max_file) {
        $erreur.="<li>• text</li>";
    }
    $tmp_name = file_get_contents($upload_file['tmp_name']);
    $attachement = chunk_split(base64_encode($tmp_name));
}

1 个答案:

答案 0 :(得分:0)

我用以下代码编辑我的代码:

$Fr_Photos      = !empty($_FILES['Fr_Photos']) ? $_FILES['Fr_Photos'] : NULL;

if(!in_array($extension, $extensions))          {$erreur.="<li>• Vous devez uploader un fichier de type jpg, jpeg, png, bmp ou pdf...</li>";}
if($taille > $taille_maxi)                      {$erreur.="<li>• La taille maximale des fichiers ne doit pas dépasser 10Mo</li>";}
if(count($Fr_Photos) > $nbr_max_file)           {$erreur.="<li>• Trop de fichiers uploadés</li>";}

if($Fr_Photos){

foreach ($Fr_Photos as $fichier){
$upload_type    = $fichier['type'];
$upload_file    = $fichier['name'];
$tmp_name       = $fichier['tmp_name'];

$extension      = strrchr($upload_file, '.');
$taille         = filesize($tmp_name);
$tmp_myname     = file_get_contents($tmp_name);
$attachement    = chunk_split(base64_encode($tmp_myname));

if (move_uploaded_file($tmp_name, $upload_file)) {

$message.= 'Content-type:'.$upload_type.';name='.$upload_file.$passage_ligne;
$message.= "Content-Transfer-Encoding: base64".$passage_ligne;
$message.= "Content-Disposition: attachment; filename=".$upload_file.$passage_ligne;
$message.= $passage_ligne.$attachement.$passage_ligne.$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne; 
    }}}

但我又遇到了一些问题。