formulier met bijlagen
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)
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
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>';
}
}
?>
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.