Upload/Download script
Ik heb een handig scriptje gevonden, maar werkt niet helemaal naar wens.
Ik gebruik dit 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
45
46
47
48
49
50
51
52
53
54
55
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
<?php
include "config.php";
$extensions = array('png', 'gif', 'jpg', 'jpeg', 'bmp', 'pdf', 'doc', 'docx', 'html', 'psd', 'css', 'zip', 'rar', '7z'); //bestandsformaten
$tfolder = "files/"; // bestandsmap
$scriptloc = "http://JESITE/projects/upload/"; //volledige url
$maxfsize = 125; //max mb per file
if($_SERVER['REQUEST_METHOD'] == "POST") {
$fname = $_FILES['filen']['name'];
$fext = strtolower(end(explode('.', $fname)));
$ftemp = $_FILES['filen']['tmp_name'];
$ip = $_SERVER['REMOTE_ADDR'];
$random = rand(1, 5000000);
$newname = md5(time() . $ip . $random . $fext);
$target = $tfolder . $newname;
if(!empty($fname)) {
foreach($extensions as $check) {
if($check == $fext) {
$extensioncheck = true;
}
}
if($extensioncheck == true) {
if(filesize($ftemp) > $maxfsize * (1024*1024)) {
$fout = "Uw bestand is te groot. De maximale bestandsgrootte is <b>" . $maxfsize . "</b>MB.";
} else {
if(!strstr(strtolower($fname), "php")) {
$upload = move_uploaded_file($ftemp, $target);
$downloadurl = "$scriptloc" . "download.php?file=$newname";
$statsurl = "$scriptloc" . "stats.php?file=$newname";
$deleteurl = "$scriptloc" . "delete.php?file=$newname";
if($upload) {
mysql_query ("INSERT INTO stats VALUES ('','$newname','0')") or die(mysql_error());
$succes = true;
} else {
$fout = "Uploadfout! Als het oploaden mislukt, zet alles dan in een zip/rar/7z file, en probeer het opnieuw!";
}} else {
$fout = "Uw bestand mag niet de tekst 'php' bevatten!";
}}} else {
$fout = "Dit bestandsformaat is niet toegestaan!";
}} else {
$fout = "Selecteer een bestand om te uploaden.";
}
}
if($succes !== true) {
echo '<b>De maximale bestandsgroote is ' . $maxfsize . 'MB.</b>';
echo '<form action="" method="post" enctype="multipart/form-data">';
echo '<input type="file" name="filen" /><input type="submit" name="subform" value="Uploaden" />';
echo '</form>';
echo $fout;
}
?>
include "config.php";
$extensions = array('png', 'gif', 'jpg', 'jpeg', 'bmp', 'pdf', 'doc', 'docx', 'html', 'psd', 'css', 'zip', 'rar', '7z'); //bestandsformaten
$tfolder = "files/"; // bestandsmap
$scriptloc = "http://JESITE/projects/upload/"; //volledige url
$maxfsize = 125; //max mb per file
if($_SERVER['REQUEST_METHOD'] == "POST") {
$fname = $_FILES['filen']['name'];
$fext = strtolower(end(explode('.', $fname)));
$ftemp = $_FILES['filen']['tmp_name'];
$ip = $_SERVER['REMOTE_ADDR'];
$random = rand(1, 5000000);
$newname = md5(time() . $ip . $random . $fext);
$target = $tfolder . $newname;
if(!empty($fname)) {
foreach($extensions as $check) {
if($check == $fext) {
$extensioncheck = true;
}
}
if($extensioncheck == true) {
if(filesize($ftemp) > $maxfsize * (1024*1024)) {
$fout = "Uw bestand is te groot. De maximale bestandsgrootte is <b>" . $maxfsize . "</b>MB.";
} else {
if(!strstr(strtolower($fname), "php")) {
$upload = move_uploaded_file($ftemp, $target);
$downloadurl = "$scriptloc" . "download.php?file=$newname";
$statsurl = "$scriptloc" . "stats.php?file=$newname";
$deleteurl = "$scriptloc" . "delete.php?file=$newname";
if($upload) {
mysql_query ("INSERT INTO stats VALUES ('','$newname','0')") or die(mysql_error());
$succes = true;
} else {
$fout = "Uploadfout! Als het oploaden mislukt, zet alles dan in een zip/rar/7z file, en probeer het opnieuw!";
}} else {
$fout = "Uw bestand mag niet de tekst 'php' bevatten!";
}}} else {
$fout = "Dit bestandsformaat is niet toegestaan!";
}} else {
$fout = "Selecteer een bestand om te uploaden.";
}
}
if($succes !== true) {
echo '<b>De maximale bestandsgroote is ' . $maxfsize . 'MB.</b>';
echo '<form action="" method="post" enctype="multipart/form-data">';
echo '<input type="file" name="filen" /><input type="submit" name="subform" value="Uploaden" />';
echo '</form>';
echo $fout;
}
?>
Maar nou wou ik graag dat de bestanden die geupload worden, niet een andere naam krijgen maar de naam behouden zoals ze geupload worden.
Kan iemand me hier bij helpen, omdat ik net begin met php.
Gewijzigd op 18/07/2010 18:21:09 door Jordy van den Belt
Het is in ieder geval een mooie 'security hazard'.
Ik heb het al voor elkaar.
:)
Hoe dan?
Hij gebruikt het paradox productions script :%