Upload til variabel sti
Jeg har et udmærket uploadscript til upload af billeder. Jeg vil dog gerne ha den mulighed at kunne vælge mellem to mapper, filen skal uploades til.Er der nogen der kan hjælpe med det?
Min kode ser sådan ud:
uploadform.php:
<html><head><title>Upload af en eller flere filer</title>
<link rel="stylesheet" type="text/css" href="upload.css">
</head>
<body>
<center>
<?php
if(ini_get("file_uploads") == 1) { //Tak til detox for at lære mi glidt om ini_get(), http://www.eksperten.dk/spm/392653
?>
<form enctype="multipart/form-data" action="upload.php" method="post">
<b>Max. upload på en gang er sat til <?php echo min(ini_get("post_max_size"), ini_get("upload_max_filesize")); ?>b. i php.ini</b><br><br>
<table><tr>
<td>Vælg en fil til upload.<br>
<input name="singlefile" type="file" class="input" size="40"> <input type="submit" value="Upload" class="submit">
<br>
Filer som accepteres:<br>
"image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png", "image/x-png"</form></td>
</tr><tr>
<td><hr><b>Flere filer på samme tid:</b></td>
</tr><tr>
<td><form enctype="multipart/form-data" action="upload.php" method="post">
Vælg en eller flere filer til upload:<br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><br>
<input name="upfile[]" type="file" size="48" class="input"><p>
<center><input type="submit" value="Upload" class="submit"></center><p>
Alle filtyper accepteres ved "multi-upload".</td>
</tr></table>
</form><?php
}else{
echo"Tilsyneladende er filupload ikke tilladt på denne server?<br>\n";
echo"Prøv evt. at fjerne den første if-sætning i denne fil.";
}
?>
</center>
</body></html>
upload.php:
<html><head><title>Upload resultat</title>
<link rel="stylesheet" type="text/css" href="upload.css">
</head>
<body>
<center>
<table><tr>
<td><?php
//hmm, lidt kode til "rigtig lukning" af html'en ved fejl
$stop = "</td>\n</tr></table>\n</center></body></html>";
//stien, hvortil filer skal uploades, her et subdir til roden af domænet
$dist = $_SERVER["DOCUMENT_ROOT"] ."/lasse/billeder/";
//Er det en enkelt fil? (singlefile)
if(isset($_FILES["singlefile"])) {
//til brug for info om filtyper
$str1 = $_FILES["singlefile"]["name"];
$str2 = $_FILES["singlefile"]["size"];
$str3 = $_FILES["singlefile"]["type"];
//Filer som kan uploades
$filetyper = array("image/gif", "text/html", "text/plain", "image/jpeg", "image/pjpeg", "image/png", "image/x-png");
//Tjek om der er en fil
if ($_FILES["singlefile"]["name"] == "") {
echo"Ingen fil valgt! <a href=\"uploadform.php\">tilbage</a>";
echo $stop;
exit;
}
//Tjek om filen er i array'et af tiladte filtyper
if (!in_array($_FILES["singlefile"]["type"], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>". $str3 ."</b> er ikke tilladt for upload! <a href=\"uploadform.php\">tilbage</a>";
echo $stop;
exit;
}
//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"
if(is_uploaded_file($_FILES["singlefile"]["tmp_name"])) {
//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
move_uploaded_file($_FILES["singlefile"]["tmp_name"], $dist . $_FILES["singlefile"]["name"]);
echo"Ønsket fil til upload:<p>\n";
echo "<b>Navn:</b> ". $str1 .",<br>\n";
echo"<b>Størrelse:</b> ". $str2 ." bytes,<br>\n";
echo"<b>Filtype:</b> ". $str3 ."<br>\n";
echo "<a href=\"uploadform.php\">tilbage</a>";
}else{
echo"Sorry, men upload skete IKKE!";
}
}
//FLERE FILER PÅ SAMME TID FLERE FILER PÅ SAMME TID
if (isset($_FILES["upfile"])) {
echo"Ønskede filer til upload:<p>\n";
$antal = 0;
//Find antallet af filer til upload med en for-løkke
for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) {
if ($_FILES["upfile"]["name"][$i] !="") {
//Læg en til $antal for hver fil.
$antal++;
if(is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) {
move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], $dist . $_FILES["upfile"]["name"][$i]);
//til brug for info om filtyper
$str1 = $_FILES["upfile"]["name"][$i];
$str2 = $_FILES["upfile"]["size"][$i];
$str3 = $_FILES["upfile"]["type"][$i];
echo "<b>Navn:</b> ". $str1 .", <b> størrelse:</b> ". $str2 ." bytes, <b>filtype:</b> ". $str3 ."<br>\n";
}else{
echo"Upload til serveren skete ikke!";
}
}
}
if($antal < 1) { //Hvis der ingen filer er valgt
echo"Vælg en eller flere filer til upload! <a href=\"uploadform.php\">tilbage</a>";
}else{
echo"<a href=\"uploadform.php\">tilbage</a>";
}
}
?></td>
</tr></table>
</center>
</body></html>
