Upload script - forhindr overskriv
HejsaJeg har brutalt rippet dette script, som jeg tror cyperman er ophavsmand til.
Jeg vil gerne tilføje at hvis filen allerede findes, så skal den rename filen - er der nogen der kan det?
<?PHP
// her gemmes filerne
$konfiguration["upload_bibliotek"] = "./updir/";
// Dette må filerne max fylde. (i kb).
$konfiguration["max_stoerrelse"] = "3000000";
/* Check PHP-version */
list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
// Hvis PHP versionen er for gammel, lukker vi scriptet.
die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}
/* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */
if($minor < 1) {
$_FILES = $HTTP_POST_FILES;
$_POST = $HTTP_POST_VARS;
$_SERVER = $HTTP_SERVER_VARS;
}
/* Hvor flytter vi fra og til */
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
/* Accepterer vi filens stoerrelse? */
$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
die("Desværre - filen er for stor. Jeg accepterer kun " .
$konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
ceil($fil_stoerrelse, 1) . " kb");
}
// For at gøre det mere sikkert, kan du selv bestemme hvilket type filer brugerne må uploade
// Dette er smart, da de ellers ville kunne uploade perl script, php script, eller andet der kan skade dig.
$ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
if($ext == "txt" || $ext == "doc" || $ext == "jpg" || $ext == "bmp") {
/* Saa koerer vi */
if(function_exists("move_uploaded_file")) {
move_uploaded_file($fra, $til);
} else {
copy($fra, $til);
}
// Filen er nu uploaded, og vi sender dig tilbage til upload siden.
#header("Location: up3.php");
echo "<br>Filen fylder ".$fil_stoerrelse." kb og hedder ".$_FILES["upfil"]["name"] ;
exit;
} else {
die("Jeg vil kun have jpg, mpg eller swf filer uploaded!");
}
?>
