Avatar billede msdb Nybegynder
03. september 2011 - 15:29 Der er 5 kommentarer og
1 løsning

php vis indhold af mappe

Jeg er igang med at lave en side til mit site, som kan vise indholdet af mappen /upload/, men den bid kode jeg bruger viser kun indholdet af sitets root folder og klikker jeg på linket til mappen som vises i denne oversigt får jeg denne fejl:

You don't have permission to access /upload/ on this server.

kode benyttet:

<?php
$dir="http://www....dk/upload/";
if($dir = @opendir(getcwd()))
{
while ($files = @readdir($dir))
{
if(($files != '.') && ($files != '..') && ($files[0] != '.'))
{
if(filetype($files) == 'dir')
echo '<em><a href="'.$files.'">'.$files.'</a></em><br />';
else
echo '<a href="'.$files.'">'.$files.'</a><br />';
}
}
closedir($dir);
}
else
echo 'Directory can\'t be opened.';
?>

Hvad gør jeg forkert?
Avatar billede Slettet bruger
03. september 2011 - 16:42 #1
Du skal i dette tilfælde ikke benytte getcwd()

Benyt i stedet en variabel, f.eks. $path, som du opdaterer alt efter, hvor i mappestrukturen, du er, f.eks. ved at benytte URL parametre ($_GET).

Prøv at leg lidt med denne utestede modifikation og vend tilbage, hvis du støder på problemer.

<?php
$path = "./upload/";
if(isset($_GET['path'])){
$path = $_GET['path'] . "/";
}
if($dir = @opendir($path))
{
while ($files = @readdir($dir))
{
if(($files != '.') && ($files != '..') && ($files[0] != '.'))
{
if(filetype($files) == 'dir')
echo '<em><a href="?path='.$path . $files.'">'.$files.'</a></em><br />';
else
echo '<a href="'.$path . $files.'">'.$files.'</a><br />';
}
}
closedir($dir);
}
else
echo 'Directory can\'t be opened.';
?>
Avatar billede msdb Nybegynder
04. september 2011 - 13:00 #2
Jeg får denne fejl:

Warning: filetype(): Lstat failed for test.zip in .../upload.php on line 291 test.zip

linie 291 er
if(filetype($files) == 'dir')
Avatar billede Slettet bruger
04. september 2011 - 18:57 #3
Brug is_dir i stedet - http://dk.php.net/is_dir
Avatar billede msdb Nybegynder
05. september 2011 - 16:23 #4
Ahh selvfølgelig. Tak for det!
Avatar billede msdb Nybegynder
07. september 2011 - 16:18 #5
Smid et svar i mit retning og bliv belønnet derefter :)
Avatar billede Slettet bruger
07. september 2011 - 17:48 #6
Svar :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester