Hvem kan lave denne upload om?
Jeg har denne kode som bliver brugt til upload ( Se nederst ). Nu kunne jeg godt tænke mig, at den kunne komme til at se lidt ud som http://www.krudtting.dk/files/ Hvor det også skal være muligt at uploade til et underDir F.eks. at når man er på www.krudtting.dk/files/ og så går ind under misc, så skal det være muligt og uploade der også. Er der nogle som kan lave det? Eller en som har et færdig script?Det vil heller ikke gøre noget, hvis man kunne lave det så man kan se hvor langt ens upload er nået. Altså den tæller op i % til 100% når uploaden er færdig. ( Men ikke noget krav )
Jeg giver 300 Point mere end de 200 til den som kan hjælpe mig.
Her kommer min kode:
<?php
/* Funktioner der benyttes */
function list_filer($bibliotek) {
if($bib = @opendir($bibliotek)) {
/**
* Denne syntaks er forklaret i PHP-manualen:
* http://www.php.net/manual/en/function.readdir.php
*/
while (false !== ($fil = readdir($bib))) {
if($fil != "." && $fil != ".." && $fil != "index.php" && !ereg("^\..+", $fil)) {
$fil_liste[] = "<a href=\"$bibliotek/$fil\">$fil</a>";
}
}
closedir($bib);
if(is_array($fil_liste)) {
$liste = "<li>" . join("</li><li>", $fil_liste) . "</li>";
} else {
$liste = "<li>Ingen filer på lager</li>";
}
return "<h2>Filer på lager:</h2><ul>" . $liste . "</ul>";
} else {
die("Kunne ikke åbne biblioteket: " . $bibliotek);
}
}
function upload_fil($fil, $max_stoerrelse = 100000, $bibliotek = "default", $filtyper_tilladt = "default") {
if ($bibliotek == "default") {
$bibliotek = "../skole";
}
if ($filtyper_tilladt == "default") {
$filtyper_tilladt = array("image/bmp", "image/jpeg", "image/pjpeg", "image/tiff", "image/png", "image/gif", "application/vnd.ms-excel", "application/msword", "application/pdf", "application/zip", "application/arj", "application/exe", "application/x-zip-compressed", "application/octet-stream");
}
if ($fil["size"] > 0) {
$filnavn = strtolower(ereg_replace(" ", "_", $fil["name"]));
$fra = $fil["tmp_name"];
$til = $bibliotek . "/" . $filnavn;
$fil_stoerrelse = filesize($fra)/10240;
$filtype = $fil["type"];
$fejl = 0;
if (!in_array($filtype, $filtyper_tilladt)) {
echo "<p>Filtypen '$filtype' er ikke tilladt. De tilladte filtyper er '" . implode("', '", $filtyper_tilladt) . "'. Filen '$filnavn' kan derfor ikke uploades!</p>";
$fejl = 1;
}
if ($fil_stoerrelse > $max_stoerrelse) {
echo "<p>Filen '$filnavn' er for stor og kan ikke uploades. Den fylder " . ceil($fil_stoerrelse) . " kb og der kan maximalt uploades $max_stoerrelse kb!</p>";
$fejl = 1;
}
if ($fejl == 0) {
if (file_exists($til)) {
$pos = strrpos($filnavn, ".");
$foerpos = substr($filnavn, 0, $pos);
$efterpos = substr($filnavn, $pos + 1, strlen($filnavn) - ($pos + 1));
$i = 2;
echo "<p>Filen '$filnavn' eksisterer allerede i '" . $bibliotek . "' og filen omdøbes derfor til ";
while (file_exists($til)) {
$filnavn = $foerpos . "(" . $i . ")." . $efterpos;
$til = $bibliotek . "/" . $filnavn;
$i++;
}
echo "'$filnavn'</p>";
}
if (move_uploaded_file($fra, $til)) {
return $fil_sti;
} else {
echo "<p>Desværre, filen '$filnavn' kunne ikke uploades!</p>";
return false;
}
}
} else {
echo "<p>Der er ikke vedhæftet nogen fil!</p>";
}
}
/* Siden starter */
if ($_POST[sendknap]) {
$fil = $_FILES["upfil"];
upload_fil($fil);
}
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
<fieldset>
Upload fil<br />
<input type="file" name="upfil" size="30" /><br />
<input type="submit" name="sendknap" value="Upload" />
</fieldset>
</form>
<?php
echo list_filer("../skole");
?>
