---
title: "Problem med kataloger i upload-script"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/96308-problem-med-kataloger-i-upload-script"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "robbanf"
published: "2004-02-01T20:17:57.000Z"
updated: "2004-02-02T18:49:45.000Z"
replies: 3
views: 295
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/96308-problem-med-kataloger-i-upload-script"
---

# Problem med kataloger i upload-script

## #1 — robbanf, 2004-02-01T20:17Z

Jag håller på att göra ett upload-script så jag kan ladda upp filer direkt till min webserver från en browser, men jag får inte riktigt ordning på kataloghanteringen.

Det går bra i ett steg, men sen blir det fel.

Jag kan förstå varför det inte fungerar, men jag har ingen aning om hur jag ska göra istället, för att få det att fungera i "obegränsat" antal nivåer.

Lite kod:

```php

$homeurl = "http://robbanf.com";

if (false == isset($_GET['subdir'])) {
	$homedir = "/test/";
}
	else
	{
	$homedir = "/test/" . $_GET['subdir'] . '/';
	
}
```

 

```php
$path = $_SERVER['DOCUMENT_ROOT'].$homedir;
if (!$path) {
	die("Kunde inte öppna katalogen.");
}

echo $homedir;
if ($handle = opendir($path)) {
	while (false !== ($file = readdir($handle))) {
	if ($file != "." && $file != ".." && is_dir($path.$file)) {
	echo '<tr><td width="5%"><img src="http://robbanf.com/kat.gif">
</td><td width="95%"><b><a href='.$_SERVER['PHP_SELF'].'?subdir='.$file.'">' . $file . '</a></b></td></tr>';
	}
}

closedir($handle);
}
```

Några tips?

/ Robban

Permalänk: https://www.webforum.nu/p/96308

## #2 — Bäckman, 2004-02-01T21:19Z

Satt själv och pillade lite med just det här idag. Det jag åstadkom var typ det du är ute efter. Om du förstår dig på koden så får du använda den till vad du nu vill. :)

```php
<html>
<head>
<title>Filhantering</title>
</head>
<body>

<?php
if (isset($_GET["chosendir"])) {
	$dir =  $_GET["chosendir"];
} else {

	$dir = $_SERVER["SCRIPT_FILENAME"];
	$dir = str_replace(basename($dir), '', $dir);
}

$char = substr($dir, strlen($dir) - 1, strlen($dir));

if ($char !== "/") {
$dir = $dir ."/";
}

	$pos = strrpos($dir, "/");
	$back = substr($dir, 0, $pos);
	$pos = strrpos($back, "/");
	$back = substr($back, 0, $pos + 1);

if ($handle = opendir($dir)) {
echo "Innehåll i <span style=\"font-weight: bold;\">". $dir ."</span>:<br/>";

	while (false !== ($file = readdir($handle))) {

		if ($file !== ".." && $file !== ".") {
			if (filetype($file) == "dir") {
				$dirs[] = $file;
			} else {
				$files[] = $file;
			}
		}
	}
}

	echo "<a href=\"". $_SERVER["PHP_SELF"] ."?chosendir=". $back ."\">bakåt</a><br/>";

if (count($dirs) > 0) {
	sort($dirs);
	foreach ($dirs as $key) {
		echo "<a href=\"". $_SERVER["PHP_SELF"] ."?chosendir=". $dir . $key . "/" ."\">". $key ."</a><br/>";
	}
} else {
echo "Inga mappar i denna mappen.";
}

echo "<br/><br/>";

if (count($files) > 0) {
	sort($files);
	foreach ($files as $key) {
		echo $key ."<br/>";
	}
} else {
echo "Inga filer i denna mappen.";
}

?>
</body>
</html>
```

Permalänk: https://www.webforum.nu/p/1264402

## #3 — robbanf, 2004-02-02T00:24Z

Ditt exempel funkar bra, men jag vill inte använda absoluta sökvägar i url:en. Hur ska man göra för att använda relativa sökvägar istället (relativt katalogen man startar i alltså).

/ Robban

Permalänk: https://www.webforum.nu/p/1264453

## #4 — robbanf, 2004-02-02T18:49Z

Jag undrar även om man kan lösa det utan att skicka information i url:en? Som när man använder method="post" i ett formulär menar jag.

/ Robban

Permalänk: https://www.webforum.nu/p/1264785

---

Tråden på webben: https://www.webforum.nu/amne/php/96308-problem-med-kataloger-i-upload-script
