formulier met bijlagen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Harm

Harm

16/05/2008 18:40:00
Quote Anchor link
Ik heb een probleem.

Ik heb momenteel onderstaand werkend script waarmee ik een formulier kan mailen waar ook een bijlage meegestuurd moet worden. Alleen nou wil ik deze uitbreiden met de optie dat er bijvoorbeeld twee bijlages meegestuurd moeten worden.

Hoe kan ik dit script snel aanpassen waardoor ik twee files kan uploaden?
dan zou ik dus 'upfile' hebben en daar 'upfile2' bijkrijgen. of moet ik gewoon twee keer hetzelfde uitvoeren? Ik heb al tips gekregen dat het met arrays zou kunnen, alleen weet ik hier nu nog te weinig van af. wie kan mij op dreef helpen!?



Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

$allowed = array('jpg', 'jpeg', 'gif', 'doc', 'pdf');
$my_email = '[email protected]';
$email_subject=  'Nieuwe Inschrijving';
$maxsize = 100000;

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if (empty($_POST['email_from']))     { echo "<li>U hebt uw emailadres niet ingevuld!<br><br></li>";  }
    else if (!ereg("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$email_from)){  echo "<li>U heeft geen of een ongeldig E-mail adres ingevoerd!<br><br></li>"; }

    else if(is_uploaded_file($_FILES['upfile']['tmp_name']))
    {

        $pathinfo = pathinfo($_FILES['upfile']['name']);
        if(in_array($pathinfo['extension'], $allowed))
        {

            // De bestandsnaam van het uiteindelijke bestand
            // Natuurlijk naar eigen wens aan te passen.

            $file = $_FILES['upfile']['name'];
            
            if($_FILES['upfile']['size'] < $maxsize)
            {

                if(move_uploaded_file($_FILES['upfile']['tmp_name'], $file))
                {

                    $achternaam = $_POST['achternaam'];
                    $voornaam = $_POST['voornaam'];
                    $geboortedatum = $_POST['geboortedatum'];
                    $straat = $_POST['straat'];
                    $huisnummer = $_POST['huisnummer'];
                    $postcode = $_POST['postcode'];
                    $woonplaats = $_POST['woonplaats'];
                    $telefoonnummer = $_POST['telefoonnummer'];
                    $email_from = $_POST['email_from'];
                    $website = $_POST['website'];
                    $kvk_nummer = $_POST['kvk_nummer'];
                    $real_email_message = $_POST['real_email_message'];
                    $aantalurenperweek = $_POST['aantalurenperweek'];
                    $voorkeurdagen = $_POST['voorkeurdagen'];
                    $tariefindicatie = $_POST['tariefindicatie'];
                    $email_message= "
                    $achternaam<br/>
                    $voornaam<br/>
                    $geboortedatum<br/>
                    $straat  $huisnummer<br/>
                    $postcode<br/>
                    $woonplaats<br/>
                    $telefoonnummer<br/>
                    $email_from<br/>
                    $website<br/>
                    $kvk_nummer<br/>
                    $real_email_message<br/>
                    $aantalurenperweek<br/>
                    $voorkeurdagen<br/>
                    $tariefindicatie<br/>
                    "
;
                    
                    
                    $fileatt= $file;
                    $file2 = fopen($fileatt,'rb');
                    $data = fread($file2,filesize($fileatt));
                    $data2 = fread($file2,filesize($fileatt));
                    $extension = substr(strrchr($fileatt, '.'), 1);

                    fclose($file2);
                    
                    $headers = "From: ".$email_from;

                    $semi_rand = md5(time());
                    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

                    $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";

                    $email_message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $email_message . "\n\n";
                    $data = chunk_split(base64_encode($data));
                    $email_message .= "--{$mime_boundary}\n" . "Content-Type: $extension ;\n" . " name=\"bijlage_1_$file\"\n" . "Content-Disposition: attachment;\n" . " filename=\"bijlage_1_$file\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" ."--{$mime_boundary}--\n";
                                    
                    $sending_ok = @mail($my_email, $email_subject, $email_message, $headers);
                    
                    
                    
                    echo '<li><p>Het bestand: '.$file.' is succesvol verstuurd.</p></li>';
                    unlink($file);
                }
            }

            else
            {
                if($maxsize == 0)
                {

                    echo '<li>>Het uploaden van bestanden is uitgeschakeld</li>';
                }

                else
                {
                    echo '<li>Het bestand is te groot.</li>';
                }
            }
        }

        else
        {
            echo '<li>Deze extensie is niet toegestaan!</li>';
        }
    }

    else
    {
        echo '<li>Er is geen bestand opgegeven</li>';
    }
}

?>
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.