php script uploads vertificatie invoegen??
Kan iemand me helpen.
Het upload script is werkend:
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
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
<?php
// Set Upload Path
$target_dir = 'files/';
if( isset($_FILES['fileUpload']['name'])) {
$total_files = count($_FILES['fileUpload']['name']);
for($key = 0; $key < $total_files; $key++) {
// Check if file is selected
if(isset($_FILES['fileUpload']['name'][$key])
&& $_FILES['fileUpload']['size'][$key] > 0) {
$original_filename = $_FILES['fileUpload']['name'][$key];
$target = $target_dir . basename($original_filename);
$tmp = $_FILES['fileUpload']['tmp_name'][$key];
move_uploaded_file($tmp, $target);
}
}
}
?>
// Set Upload Path
$target_dir = 'files/';
if( isset($_FILES['fileUpload']['name'])) {
$total_files = count($_FILES['fileUpload']['name']);
for($key = 0; $key < $total_files; $key++) {
// Check if file is selected
if(isset($_FILES['fileUpload']['name'][$key])
&& $_FILES['fileUpload']['size'][$key] > 0) {
$original_filename = $_FILES['fileUpload']['name'][$key];
$target = $target_dir . basename($original_filename);
$tmp = $_FILES['fileUpload']['tmp_name'][$key];
move_uploaded_file($tmp, $target);
}
}
}
?>
----------------
Hoe moet deze code ertussen?:
---------------
// Get the extension
$ext = strtolower(pathinfo($_FILES["fileUpload"]["name"][$key], PATHINFO_EXTENSION));
// check extension and upload
if( in_array( $ext, array('jpg', 'jpeg', 'png', 'gif', 'bmp'))) {
// Filetype if valid, process uploading
}
-------------
en deze?:
--------------
$maxFileSize = 5 * 1024 * 1024; //5MB
$errors = array();
if($_FILES['fileUpload']['size'][$key] > $maxFileSize){
$errors[$key] = 'File size is greater than allowed size';
}
-----------
of moet ik heel anders doen???
help...
Maar zelf ben ik meer voorstander van een kant-en-klare class die meteen geheel veilig is.
Ikzelf gebruik de upload-class van verot.net!
Enkel op extentie controleren is bovendien alsnog zeer onveilig!!!!!
Gewijzigd op 14/06/2018 23:10:41 door - Ariën -
bedankt voor de tip, ik begrijp dat het beter is een veiliger upload te gebruiken, ik ga me daarin verdiepen...
Wat je allereerst/ook zou moeten controleren is of er geen fouten zijn opgetreden bij het uploaden. Dit doe je door $_FILES['filename']['error'] (of wat voor structuur je ook gebruikt) te inspecteren. Deze zou gelijk moeten zijn aan 0, of beter nog, de constante UPLOAD_ERR_OK.
Voor verdere foutafhandeling zou je onderscheid kunnen maken tussen de verschillende errorcodes.
Sowieso is het onderdeel Handling file uploads wel interessant om een keer door te lezen (maar kijk ook naar de user contributed notes, want niet alle zaken die PHP.net verschaft zijn altijd even goed of veilig).
Of je maakt gebruik van een library zoals @Ariën aanhaalt, zodat je je (in eerste instantie) niet (volledig) hoeft te verdiepen in alle intrinsieke eigenschappen (en pitfalls) voor het uploaden van bestanden.