File upload
Ik heb een probleem met mijn upload script Het probleem is dat hij maar 1 bestand upload. hij zou meerdere bestanden moeten uploaden omdat het een multiple file upload betreft.
ik heb onlangs een aantal restricties toegevoegd aan het upload script, na het toevoegen daarvan komt hij steeds met de volgende foutmelding: "Notice: Undefined offset: 1"
als ik de restricties weghaal gaat de upload wel goed en upload hij alle bestanden.
Dit is het upload-script.
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
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
<?php
$name = ($_FILES["file"]["name"]);
$type = ($_FILES["file"]["type"]);
$size = ($_FILES["file"]["size"]);
$tmp_name = ($_FILES["file"]["tmp_name"]);
$path = 'Uploads/zzp/'; // Upload map
if($_SERVER['REQUEST_METHOD'] == "POST")
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$filenames = array();
foreach ($_FILES['file']['name'] as $f => $name)
foreach ($_FILES['file']['type'] as $p => $type)
$Mimetype = $type;
$Original_filename = ($_FILES['file']['name']);
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($Mimetype, $AllowedMimetypes )){
if (in_array($Extension, $AllowedExtensions)){
if(move_uploaded_file($_FILES["file"]["tmp_name"][$f], $path.$name))
$filenames[] = $name;
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";}
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";}
?>
$name = ($_FILES["file"]["name"]);
$type = ($_FILES["file"]["type"]);
$size = ($_FILES["file"]["size"]);
$tmp_name = ($_FILES["file"]["tmp_name"]);
$path = 'Uploads/zzp/'; // Upload map
if($_SERVER['REQUEST_METHOD'] == "POST")
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$filenames = array();
foreach ($_FILES['file']['name'] as $f => $name)
foreach ($_FILES['file']['type'] as $p => $type)
$Mimetype = $type;
$Original_filename = ($_FILES['file']['name']);
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($Mimetype, $AllowedMimetypes )){
if (in_array($Extension, $AllowedExtensions)){
if(move_uploaded_file($_FILES["file"]["tmp_name"][$f], $path.$name))
$filenames[] = $name;
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";}
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";}
?>
Heeft iemand een idee wat hier fout gaat ?
En in jou script doe je maar 1 bestand.
Wat je moet doen is een foreach om je script zetten zodat hij de array uitleest en elke upload als 1 ziet. Dit doet hij dan net zolang tot php de array heeft leeggemaakt.
oke, als ik de restricties weglaat uit het script upload hij wel meerdere bestanden dus volgens mij ligt het probleem ergens anders.
dat dacht ik ook frank, maar als ik dat doe dan staat er dat er gewoon 2 bestanden in de array zitten, in key 0 en in key 1.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
foreach($_FILES as $file)
{
// binnen deze lus is het gewoon hetzelfde als een single fileupload...
// (alleen moet je $_FILES wijzigen in $file)
}
?>
foreach($_FILES as $file)
{
// binnen deze lus is het gewoon hetzelfde als een single fileupload...
// (alleen moet je $_FILES wijzigen in $file)
}
?>
alleen hoe kan het dan dat als ik de restricties weglaat dat hij het wel doet met mijn script ?
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
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
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
$files = $_FILES;
$path = 'uploads/zzp/'; // Upload map met trailingslash
// Check of files meer dan 1 is converteer anders naar array
if( ! is_array($_FILES) ) {
$files = array($_FILES);
}
// We hebben nu sowieso een array en gaan hier doorheen loopen, ookal is het maar 1 afbeelding
foreach ($files as $file) {
// POST is goedgekeurd en komt van de server
$name = $file["file"]["name"];
$type = $file["file"]["type"];
$size = $file["file"]["size"];
$tmpName = $file["file"]["tmp_name"];
$info = pathinfo($tmpName);
$allowedMimetypes = array('application/msword', 'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document');
$allowedExtensions = array('docx', 'doc', 'pdf');
$extension = $info['extension'];
// Error melding voor als het niet toegestaan is. Niet teveel meldingen geven want dan maak je de gebruiker wijzer dan hij moet zijn
if ( ! in_array($Mimetype, $allowedMimetypes ) && ! in_array($extension, $allowedExtensions) ) {
echo "<p>Het is niet toegestaan het bestand {$name} te uploaden</p>";
}
// Check of het bestand niet bestaat.. anders een random nummer eraan geven
if ( file_exists($path.$name) ) {
$name = $name . rand(00,99);
}
if( ! move_uploaded_file($tmpName, $path . $name . '.' $extension)) {
echo "<p>Het bestand {$name} kon niet worden geupload</p>";
}
}
?>
if($_SERVER['REQUEST_METHOD'] == "POST") {
$files = $_FILES;
$path = 'uploads/zzp/'; // Upload map met trailingslash
// Check of files meer dan 1 is converteer anders naar array
if( ! is_array($_FILES) ) {
$files = array($_FILES);
}
// We hebben nu sowieso een array en gaan hier doorheen loopen, ookal is het maar 1 afbeelding
foreach ($files as $file) {
// POST is goedgekeurd en komt van de server
$name = $file["file"]["name"];
$type = $file["file"]["type"];
$size = $file["file"]["size"];
$tmpName = $file["file"]["tmp_name"];
$info = pathinfo($tmpName);
$allowedMimetypes = array('application/msword', 'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document');
$allowedExtensions = array('docx', 'doc', 'pdf');
$extension = $info['extension'];
// Error melding voor als het niet toegestaan is. Niet teveel meldingen geven want dan maak je de gebruiker wijzer dan hij moet zijn
if ( ! in_array($Mimetype, $allowedMimetypes ) && ! in_array($extension, $allowedExtensions) ) {
echo "<p>Het is niet toegestaan het bestand {$name} te uploaden</p>";
}
// Check of het bestand niet bestaat.. anders een random nummer eraan geven
if ( file_exists($path.$name) ) {
$name = $name . rand(00,99);
}
if( ! move_uploaded_file($tmpName, $path . $name . '.' $extension)) {
echo "<p>Het bestand {$name} kon niet worden geupload</p>";
}
}
?>
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
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
<?php
function singleFileupload($name, $type, $tmp_name, $error, $size)
{
$path = 'Uploads/'; // Upload map
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($type, $AllowedMimetypes )) {
if (in_array($Extension, $AllowedExtensions)) {
if(move_uploaded_file($tmp_name, $path.$name))
echo 'Het bestand '.$name.' is ontvangen<br>';
} else {
echo 'Het bestand '.$name.' kunnen we niet uploaden. De toegestan formaten zijn, ms-word & pdf<br>';
}
} else {
echo 'Het bestand '.$name.' kunnen we niet uploaden. De toegestane formaten zijn ms-word & pdf<br>';
}
}
if($_SERVER['REQUEST_METHOD'] == "POST")
{
for($i = 0 ; $i < count($_FILES['files']['name']) ; $i++)
{
singleFileupload( $_FILES['files']['name'][$i],
$_FILES['files']['type'][$i],
$_FILES['files']['tmp_name'][$i],
$_FILES['files']['error'][$i],
$_FILES['files']['size'][$i] );
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
Select images: <input type="file" name="files[]" multiple>
<input type="submit" value="Upload">
</form>
function singleFileupload($name, $type, $tmp_name, $error, $size)
{
$path = 'Uploads/'; // Upload map
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($type, $AllowedMimetypes )) {
if (in_array($Extension, $AllowedExtensions)) {
if(move_uploaded_file($tmp_name, $path.$name))
echo 'Het bestand '.$name.' is ontvangen<br>';
} else {
echo 'Het bestand '.$name.' kunnen we niet uploaden. De toegestan formaten zijn, ms-word & pdf<br>';
}
} else {
echo 'Het bestand '.$name.' kunnen we niet uploaden. De toegestane formaten zijn ms-word & pdf<br>';
}
}
if($_SERVER['REQUEST_METHOD'] == "POST")
{
for($i = 0 ; $i < count($_FILES['files']['name']) ; $i++)
{
singleFileupload( $_FILES['files']['name'][$i],
$_FILES['files']['type'][$i],
$_FILES['files']['tmp_name'][$i],
$_FILES['files']['error'][$i],
$_FILES['files']['size'][$i] );
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
Select images: <input type="file" name="files[]" multiple>
<input type="submit" value="Upload">
</form>
Gewijzigd op 14/12/2014 15:19:02 door Frank Nietbelangrijk
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
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
<?php
$name = ($_FILES["file"]["name"]);
$type = ($_FILES["file"]["type"]);
$size = ($_FILES["file"]["size"]);
$tmp_name = ($_FILES["file"]["tmp_name"]);
$path = 'Uploads/zzp/'; // Upload map
if($_SERVER['REQUEST_METHOD'] == "POST")
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$filenames = array();
$filenamess = ($_FILES["file"]["name"]);
foreach ($_FILES['file']['name'] as $f => $name)
foreach($_FILES ['file']['name'] as $file => $name)
foreach ($_FILES['file']['type'] as $p => $type)
$Mimetype = $type;
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($Mimetype, $AllowedMimetypes )){
if (in_array($Extension, $AllowedExtensions)){
if(move_uploaded_file($_FILES["file"]["tmp_name"][$f], $path.$name))
$filenames[] = $name;
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
?>
$name = ($_FILES["file"]["name"]);
$type = ($_FILES["file"]["type"]);
$size = ($_FILES["file"]["size"]);
$tmp_name = ($_FILES["file"]["tmp_name"]);
$path = 'Uploads/zzp/'; // Upload map
if($_SERVER['REQUEST_METHOD'] == "POST")
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$filenames = array();
$filenamess = ($_FILES["file"]["name"]);
foreach ($_FILES['file']['name'] as $f => $name)
foreach($_FILES ['file']['name'] as $file => $name)
foreach ($_FILES['file']['type'] as $p => $type)
$Mimetype = $type;
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($Mimetype, $AllowedMimetypes )){
if (in_array($Extension, $AllowedExtensions)){
if(move_uploaded_file($_FILES["file"]["tmp_name"][$f], $path.$name))
$filenames[] = $name;
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
?>
Zeg anders eens waar je tegen aan loopt..
en ik weet met dat script van jou ook niet hoe ik dan de bestandsnamen van de geuploade bestanden in de database kan zetten.
dat kan met mijn script dan met die $filenames[0] & $filenames[1]
Het schrijven naar de database moet alleen gebeuren als de upload geldig is. In mijn voorbeeld gebeurt dat in de functie singleFileupload().
Op regel 17/18 moet je dan dit
Code (php)
1
2
3
4
2
3
4
<?php
if(move_uploaded_file($tmp_name, $path.$name))
echo 'Het bestand '.$name.' is ontvangen<br>';
?>
if(move_uploaded_file($tmp_name, $path.$name))
echo 'Het bestand '.$name.' is ontvangen<br>';
?>
gaan veranderen in iets als:
Voor de INSERT query heb je dan de volgende variabelen beschikbaar: $name, $type, $tmp_name, $error en $size.
Ik weet niet of je de mysql_, mysqli_ of PDO functies gebruikt maar waarschijnlijk moet je nog even zorgen dat de $con / $link of hoe je die connectie variabele ook genoemd hebt 'zichtbaar' is binnen de functie singleFileupload(). Dat kun je op twee manieren doen:
a) een parameter extra aanmaken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
function singleFileupload($name, $type, $tmp_name, $error, $size, $con)
{
// ...
}
singleFileupload( $_FILES['files']['name'][$i],
$_FILES['files']['type'][$i],
$_FILES['files']['tmp_name'][$i],
$_FILES['files']['error'][$i],
$_FILES['files']['size'][$i],
$con );
?>
function singleFileupload($name, $type, $tmp_name, $error, $size, $con)
{
// ...
}
singleFileupload( $_FILES['files']['name'][$i],
$_FILES['files']['type'][$i],
$_FILES['files']['tmp_name'][$i],
$_FILES['files']['error'][$i],
$_FILES['files']['size'][$i],
$con );
?>
b)
de variable uit de global space importeren in de functie (minder fraai)
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
function singleFileupload($name, $type, $tmp_name, $error, $size)
{
global $con;
// ...
}
?>
function singleFileupload($name, $type, $tmp_name, $error, $size)
{
global $con;
// ...
}
?>
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
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
<?php
$name = ($_FILES["file"]["name"]);
$type = ($_FILES["file"]["type"]);
$size = ($_FILES["file"]["size"]);
$tmp_name = ($_FILES["file"]["tmp_name"]);
$path = 'Uploads/zzp/'; // Upload map
if($_SERVER['REQUEST_METHOD'] == "POST")
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$filenames = array();
$filenamess = ($_FILES["file"]["name"]);
foreach ($_FILES['file']['name'] as $f => $name)
foreach($_FILES ['file']['name'] as $file => $name)
foreach ($_FILES['file']['type'] as $p => $type)
$Mimetype = $type;
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($Mimetype, $AllowedMimetypes )){
if (in_array($Extension, $AllowedExtensions)){
if(move_uploaded_file($_FILES["file"]["tmp_name"][$f], $path.$name))
$filenames[] = $name;
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
?>
$name = ($_FILES["file"]["name"]);
$type = ($_FILES["file"]["type"]);
$size = ($_FILES["file"]["size"]);
$tmp_name = ($_FILES["file"]["tmp_name"]);
$path = 'Uploads/zzp/'; // Upload map
if($_SERVER['REQUEST_METHOD'] == "POST")
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$filenames = array();
$filenamess = ($_FILES["file"]["name"]);
foreach ($_FILES['file']['name'] as $f => $name)
foreach($_FILES ['file']['name'] as $file => $name)
foreach ($_FILES['file']['type'] as $p => $type)
$Mimetype = $type;
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($Mimetype, $AllowedMimetypes )){
if (in_array($Extension, $AllowedExtensions)){
if(move_uploaded_file($_FILES["file"]["tmp_name"][$f], $path.$name))
$filenames[] = $name;
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
?>
Toevoeging op 14/12/2014 17:30:00:
oke ik zal er eens naar kijken.
Als je het stukje code plaatst van je INSERT query dan kan ik het voor je invoegen.
Hier de Query mysqli_query($con,"INSERT INTO alle_gebruikers (Datum,Naam,Tussenvoegsel,Achternaam,Woonplaats,Provincie,Bedrijfsnaam,BTWNummer,Emailadres,Wachtwoord,Categorie,Tekstvak,Diploma,CV) VALUES ('".mysqli_real_escape_string($con,$datum)."','".mysqli_real_escape_string($con, $Naam)."','".mysqli_real_escape_string($con, $Tussenvoegsel)."','".mysqli_real_escape_string($con,$Achternaam)."','".mysqli_real_escape_string($con,$Woonplaats)."','".mysqli_real_escape_string($con,$Provincie)."','".mysqli_real_escape_string($con,$Bedrijfsnaam)."','".mysqli_real_escape_string($con,$BTWNummer)."','".mysqli_real_escape_string($con,$Emailadres)."','".mysqli_real_escape_string($con,$Wachtwoordmd5)."','".mysqli_real_escape_string($con,$Categorie)."','".mysqli_real_escape_string($con,$text)."','$filenames[0]','$filenames[1]')");
Dan gaat een multiple upload niet werken omdat je dan nooit weet welke het diploma is en welke de CV.
Dan zul je gewoon twee formuliervelden moeten aanhouden.
Bovendien is je database op deze manier gewoon zo inflexibel als het maar kan. Wat als ik nu meerdere diploma's wil uploaden?
Je zou er een extra tabel naast moeten maken genaamd 'bestanden'.
Code (php)
1
2
3
4
5
2
3
4
5
bestanden
==========================================
id | user_id | bestandsnaam | type
------------------------------------------
1 | 123 | 540dde540dbfe.png | diploma
==========================================
id | user_id | bestandsnaam | type
------------------------------------------
1 | 123 | 540dde540dbfe.png | diploma
Hieruit blijkt dat het bestand met id 1 bij user 123 hoort en het een diploma betreft.
gebruiker 123 kan nu gewoon een tweede diploma uploaden:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
bestanden
==========================================
id | user_id | bestandsnaam | type
------------------------------------------
1 | 123 | 540dde540dbfe.png | diploma
2 | 123 | 543bc8f1b83d4.png | diploma
==========================================
id | user_id | bestandsnaam | type
------------------------------------------
1 | 123 | 540dde540dbfe.png | diploma
2 | 123 | 543bc8f1b83d4.png | diploma
enzovoorts
http://stackoverflow.com/questions/15605030/php-filesfiletype-is-useless
Nooit $_FILES['name']['type'] gebruiken. Dit kan gemanipuleerd worden.
BTW, mijn script doet precies wat hij vraagt toch? Of heb ik een booboo gemaakt.
Ook vindt ik dat Wouter zelf ook even een beetje moet proberen en op onderzoek uit moet, wij kunnen alles voor je doen maar daar wordt je niet slimmer van natuurlijk.
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
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
<?php
$name = ($_FILES["file"]["name"]);
$type = ($_FILES["file"]["type"]);
$size = ($_FILES["file"]["size"]);
$tmp_name = ($_FILES["file"]["tmp_name"]);
$path = 'Uploads/zzp/'; // Upload map
if($_SERVER['REQUEST_METHOD'] == "POST")
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$filenames = array();
$filenamess = ($_FILES["file"]["name"]);
foreach ($_FILES['file']['name'] as $f => $name)
foreach($_FILES ['file']['name'] as $file => $name)
foreach ($_FILES['file']['type'] as $p => $type)
$Mimetype = $type;
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($Mimetype, $AllowedMimetypes )){
if (in_array($Extension, $AllowedExtensions)){
if(move_uploaded_file($_FILES["file"]["tmp_name"][$f], $path.$name))
$filenames[] = $name;
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
?>
$name = ($_FILES["file"]["name"]);
$type = ($_FILES["file"]["type"]);
$size = ($_FILES["file"]["size"]);
$tmp_name = ($_FILES["file"]["tmp_name"]);
$path = 'Uploads/zzp/'; // Upload map
if($_SERVER['REQUEST_METHOD'] == "POST")
$AllowedMimetypes = array('application/msword','application/pdf','application/vnd.openxmlformats-officedocument.wordprocessingml.document','');
$AllowedExtensions = array('docx','doc','pdf','');
$filenames = array();
$filenamess = ($_FILES["file"]["name"]);
foreach ($_FILES['file']['name'] as $f => $name)
foreach($_FILES ['file']['name'] as $file => $name)
foreach ($_FILES['file']['type'] as $p => $type)
$Mimetype = $type;
$Extension = strtolower(substr($name,strpos($name, '.')+1));
if (in_array($Mimetype, $AllowedMimetypes )){
if (in_array($Extension, $AllowedExtensions)){
if(move_uploaded_file($_FILES["file"]["tmp_name"][$f], $path.$name))
$filenames[] = $name;
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
}else{ echo "Dit bestand kunnen we niet uploaden. De toegestan formaten zijn, 'ms-word & pdf'<p><a href='javascript:(history.go(-1));'>Opnieuw!</a>";
}
?>
Rickert Bombaklats op 14/12/2014 21:18:55:
BTW, mijn script doet precies wat hij vraagt toch? Of heb ik een booboo gemaakt.
BTW, mijn script doet precies wat hij vraagt toch? Of heb ik een booboo gemaakt.
Nee, zoals Frank al aangegeven heeft is de $_FILES anders opgebouwd dan je zou verwachten.
Rickert Bombaklats op 14/12/2014 21:18:55:
Aguhm, lees dit ff @frank
http://stackoverflow.com/questions/15605030/php-filesfiletype-is-useless
Nooit $_FILES['name']['type'] gebruiken. Dit kan gemanipuleerd worden.
BTW, mijn script doet precies wat hij vraagt toch? Of heb ik een booboo gemaakt.
Ook vindt ik dat Wouter zelf ook even een beetje moet proberen en op onderzoek uit moet, wij kunnen alles voor je doen maar daar wordt je niet slimmer van natuurlijk.
http://stackoverflow.com/questions/15605030/php-filesfiletype-is-useless
Nooit $_FILES['name']['type'] gebruiken. Dit kan gemanipuleerd worden.
BTW, mijn script doet precies wat hij vraagt toch? Of heb ik een booboo gemaakt.
Ook vindt ik dat Wouter zelf ook even een beetje moet proberen en op onderzoek uit moet, wij kunnen alles voor je doen maar daar wordt je niet slimmer van natuurlijk.
Heb ik gezegd dat je $_FILES['name']['type'] moet gebruiken? dacht het niet..
En natuurlijk moet Wouter zelf proberen.. helemaal eens.
Toevoeging op 14/12/2014 22:22:01:
Ger van Steenderen op 14/12/2014 22:17:46:
Nee, zoals Frank al aangegeven heeft is de $_FILES anders opgebouwd dan je zou verwachten.
Ik vind het een onlogische indeling inderdaad maar goed daar zullen we het mee moeten doen :-)