Avatar billede Slettet bruger
23. maj 2011 - 23:10 Der er 1 kommentar og
1 løsning

PHP og jQuery - Vedhæft filer

Hej Eksperter,

Jeg har et problem, som jeg håber I kan være med til at løse.
Jeg har en PHP mailfunktion der på nuværende tidspunkt kan sende mails med én vedhæftet fil.

Jeg vil dog gerne kunne vedhæfte og udsende flere filer - lidt ligesom ved gmail.

Det skal være således at det er med en grafisk visning - altså en progresbar. Dertil skal det være muligt når filerne er oploadet at se dem, samt kunne fjerne dem fra listen igen.

Se nedenstående kode:
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<b>Vedhæft fil(er) til e-mail</b>
</td>
<td>
<input class="status" type="file" onchange=DisabSMS(); name="file" id="file" size="1">
</td>
</tr>
<tr><td></td></tr>
</table>

    <?php
    $fileatt = $_FILES["file"]["tmp_name"];
    $fileatt_type = $_FILES["file"]["type"];
    $fileatt_name = $_FILES["file"]["name"];
   
    $headers = "From: XX.dk <noreply@XX.dk>";
   
    if (is_uploaded_file($fileatt)) {
            // Read the file to be attached ('rb' = read binary)
            $file = fopen($fileatt,'rb');
            $data = fread($file,filesize($fileatt));
            fclose($file);
       
            // Generate a boundary string
            $semi_rand = md5(time());
            $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
           
            // Add the headers for a file attachment
            $headers .= "\r\nMIME-Version: 1.0\r\n" .
                                    "Content-Type: multipart/mixed;\r\n" .
                                    " boundary=\"{$mime_boundary}\"";
            $mailTxt = str_replace("\r\n","<br />",$_POST['txtA']);
            $email_message = "XX";
           
            // Add a multipart boundary above the plain message
            $email_message .= "This is a multi-part message in MIME format.\r\n\r\n" .
                                "--{$mime_boundary}\r\n" .
                                "Content-Type: text/html; charset=\"iso-8859-1\"\r\n" .
                                "Content-Transfer-Encoding: 7bit\r\n\r\n" .
                                $email_message . "\r\n\r\n";
       
            // Base64 encode the file data
            $data = chunk_split(base64_encode($data));
       
            // Add file attachment to the message
            $email_message .= "--{$mime_boundary}\r\n" .
                                    "Content-Type: {$fileatt_type};\r\n" .
                                    " name=\"{$fileatt_name}\"\r\n" .
                                    "Content-Disposition: attachment;\r\n" .
                                    " filename=\"{$fileatt_name}\"\r\n" .
                                    "Content-Transfer-Encoding: base64\r\n\r\n" .
                                    $data . "\r\n\r\n" .
                                    "--{$mime_boundary}--\r\n";
                                   
        }
    ?>

Vil meget gerne have hjælp til noget opsætning - Måske hvis der er nogen der kan omskrive ovenstående kode?
Håber der er nogen der kan hjælpe - TAK!
Avatar billede Slettet bruger
24. maj 2011 - 15:48 #1
Måske med udgangspunkt i Custom Demo (http://www.uploadify.com/demos/)?
Avatar billede Slettet bruger
22. februar 2012 - 12:28 #2
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester