file upload restricties toevoegen. filetype & filesize.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter van

Wouter van

26/11/2014 15:13:10
Quote Anchor link
Hallo..

zou iemand mij kunnen uitleggen hoe ik restricties toevoeg aan een multiple file upload ??.


Het is mij wel gelukt bij een file upload met 1 bestand, maar bij de multiple file upload worden de ge-uploade bestanden in een array gezet en weet ik niet hoe ik dit moet aanpakken.

dit is het stukje uploadscript wat ik tot nu toe heb.


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
<?php

$name
=  ($_FILES["files"]["name"]);
$type =   ($_FILES["files"]["type"]);
$size =  ($_FILES["files"]["size"]);
$tmp_name =   ($_FILES["files"]["tmp_name"]);



$path = 'Uploads/';

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

$filenames = array();
foreach ($_FILES['files']['name'] as $f => $name)
    
    
if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
$filenames[] = $name;


?>
 
PHP hulp

PHP hulp

18/04/2024 21:09:49
 
- Ariën  -
Beheerder

- Ariën -

26/11/2014 15:23:33
Quote Anchor link
Wat voor restricties gaat het om?
 
Wouter van

Wouter van

26/11/2014 15:31:13
Quote Anchor link
restricties om alleen jpg,jpeg,png, en gif bestanden toe te laten tot de webserver zodat er bijvoorbeeld geen php bestanden ge-upload kunnen worden.

en een restrictie op de grootte van het bestand. ik bied de mogelijkheid om 5 foto,s te uploaden.
 
- Ariën  -
Beheerder

- Ariën -

26/11/2014 15:44:57
Quote Anchor link
Zoiets....

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
<?php
$aAllowedMimetypes
= array('image/jpeg','image/pjpeg','image/gif','image/png');
$aAllowedExtensions = array('jpg', 'jpeg', 'gif', 'png');


$sMimetype = trim($_FILES['files']['type']);

if (! in_array($sMimetype, $aAllowedMimetypes )) {
  echo 'Deze foto heeft mime-type ' . htmlspecialchars($mimetype) . ' en alleen plaatjes met mime-type '.implode(', ',$aAllowedMimetypes).' worden geaccepteerd.';
}
else {
    $sOriginal_filename = basename($_FILES['files']['name']);
    $sExtension = strtolower(substr($sOriginal_filename, 1+strrpos($sOriginal_filename, '.') ));
    if (! in_array($sExtension, $aAllowedExtensions)) {
          echo 'Deze foto heeft als bestandsextensie ' . htmlspecialchars($sExtension) . ', maar alleen extensies '.implode(', ',$aAllowedExtensions).' worden geaccepteerd.';
    }
else {
        // uploaden maar.....
    }
}

?>
Gewijzigd op 26/11/2014 15:45:43 door - Ariën -
 
Wouter van

Wouter van

26/11/2014 16:15:24
Quote Anchor link
dus dan zou het zoiets moeten worden neem ik aan ?

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
<?php
$name
=  ($_FILES["files"]["name"]);
$type =   ($_FILES["files"]["type"]);
$size =  ($_FILES["files"]["size"]);
$tmp_name =   ($_FILES["files"]["tmp_name"]);
$path = 'Uploads/'; // Upload directory

$aAllowedMimetypes = array('image/jpeg','image/jpg','image/gif','image/png');
$aAllowedExtensions = array('jpg','JPG', 'jpeg', 'gif', 'png');


    $filenames = array();
    foreach ($_FILES['files']['name'] as $f => $name)

$Mimetype = ($_FILES['files']['type']);

if (! in_array($Mimetype, $aAllowedMimetypes )) {

  echo 'Deze foto heeft mime-type ' .($Mimetype) . ' en alleen plaatjes met mime-type '.implode(', ',$aAllowedMimetypes).' worden geaccepteerd.';
}
else {
    $sOriginal_filename = basename($_FILES['naam_formveld_uploadfile']['name']);
    $sExtension = strtolower(substr($sOriginal_filename, 1+strrpos($sOriginal_filename, '.') ));
    if (! in_array($sExtension, $aAllowedExtensions)) {
          echo 'Deze foto heeft als bestandsextensie ' . htmlspecialchars($sExtension) . ', maar alleen extensies '.implode(', ',$aAllowedExtensions).' worden geaccepteerd.';
    }
else {
    
    
    
    
    
               if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
                $filenames[] = $name;
        
    }
}

?>



als ik dit uitvoer dan krijg ik dit als foutmelding:

Deze foto heeft mime-type Array en alleen plaatjes met mime-type image/jpeg, image/jpg, image/gif, image/png worden geaccepteerd.

Notice: Undefined offset: 0 in /public/sites/on line 92

Notice: Undefined offset: 1 in /public/sites/on line 92

Notice: Undefined offset: 2 in /public/sites/on line 92

Notice: Undefined offset: 3 in /public/sites/on line 92

Notice: Undefined offset: 4 in /public/sites/on line 92
 



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.