Forkert sti til billedupload
Jeg har et side i php til upload af billeder. Det er muligt at vælge mellem to mapper filen skal uploades til.Problemet er bare at filen IKKE bliver uploadet til mapperne, men til roden (altså: /).
Hvad gør jeg forkert? (variablen hedder "$mappe")
Koden ser således ud i de to filer:
Uploadform.php:
---------------------
<?php
include_once('inc.limited_access.php');
include('header.inc')
?>
<body>
<?php
if(ini_get("file_uploads") == 1)
?>
<form enctype="multipart/form-data" action="upload.php" method="post">
<b><font face="Arial, Helvetica, sans-serif">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</font></b><br>
<br>
<table><tr>
<td>Vælg en fil til upload:<br>
<input name="singlefile" type="file" class="input" size="40">
<br>
<br>
<br>
Upload til:<br>
<input type="hidden" name="mappe" value="$mappe">
<label>
<input type="radio" name="mappe" value="worldtourlp/billeder-l/billeder/">
Lasse</label>
<br>
<label>
<input type="radio" name="mappe" value="worldtourlp/billeder-p/billeder/">
Peter</label>
<br>
<br>
<input type="submit" value="Upload" class="submit">
<br>
<br>
Billedfiler som accepteres:<br>
"gif", "jpg" og "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">
<br>
<br>
Upload til:<br>
<input type="hidden" name="mappe" value="$mappe">
<label>
<input type="radio" name="mappe" value="worldtourlp/billeder-l/billeder/">
Lasse</label>
<br>
<label>
<input type="radio" name="mappe" value="worldtourlp/billeder-p/billeder/">
Peter</label>
<br>
<br>
<input type="submit" value="Upload" class="submit">
</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.";
}
?>
<br>
<div class="hr"></div>
<a href="logbog/admin/administration.php" target="_self">Administration</a> | <a href="logbog/admin/index.php?f=loggedout">Log ud</a>
</body></html>
Upload.php:
--------------------
<?php
include_once('inc.limited_access.php');
include('header.inc')
?>
<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"] ."/". $mappe ."/";
//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! <br>
- <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! <br>
- <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 "<br>";
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><br>\n";
echo "- <a href=\"uploadform.php\">Tilbage</a> -";
}else{
echo"Upload til serveren skete IKKE!";
}
}
//FLERE FILER PÅ SAMME TID FLERE FILER PÅ SAMME TID
if (isset($_FILES["upfile"])) {
echo "<br>";
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!";
echo "<br>";
echo"- <a href=\"uploadform.php\">Tilbage</a> -";
}else{
echo "<br>";
echo"- <a href=\"uploadform.php\">tilbage</a> -";
}
}
?></td>
</tr></table>
</center>
</body></html>
