Avatar billede eds Nybegynder
07. oktober 2004 - 14:49 Der er 3 kommentarer

Php fil listerscript virker næsten

Hej jeg har dette php script http://xb.serveftp.net/upload/ det laver en liste over filer i den mappe det ligger i, men problemet er når man klikker på en fil så linker det til roden af min webserver, og ikke til mappen upload, altså hvis jeg nu lægger en fil der hedder fil.fil i mappen upload, så hvis jeg klikker på fil.fil så vil den lede efter filen her xb.serveftp.net/ hvad kan jeg gøre ved det?

her er kildekoden:

<?

$siteurl = "http://".$_SERVER['HTTP_HOST']."/";
$title = " >> Free Stuff <<";

$url = substr ( strchr ($_SERVER['REQUEST_URI'], 'index.php/dir_'), 14 );
$img = substr ( strchr ($_SERVER['REQUEST_URI'], 'index.php/img_'), 14 );

$fL = fileList ($url);

echo "
<html>
<title> ".$title." ".$url.$img."</title>
<head>
<link href=\"".$siteurl."index.css\" rel=\"stylesheet\" type=\"text/css\">
</head>
<body bgcolor=\"#000000\">

<fieldset class=\"fieldset\"><legend class=\"legend\"> ".$title." </legend>

<center><b> ".$title." ".$url.$img."</b></center>
<ul>
";

if ($img) {
    echo calcBack ($img);
    echo "<img src=\"".$siteurl.substr ($img, 1)."\" border=\"0\">";
} else {
    echo calcBack ($url);
    foreach ( $fL as $v ) {
        echo "<li>".$v."\n";
    }
}

echo "
</ul>
";

if ( file_exists ("./".$url."/readme.fl") ) {
    echo "<fieldset class=\"fieldset\"><legend class=\"legend\"> >> ".$url." info << </legend>\n";
    include ("./".$url."/readme.fl");
    echo "</fieldset>";
}

echo "
<br>
<center>powered by fileLister<br><a class=\"copyright\" href=\"http://www.phprebel.org/\" target=\"_blank\">&copy; 2004, phprebel.org</a></center>
</body>
</html>
";

//---------------
// Start Filelist
//---------------

function fileList ($directory) {
    global $siteurl;

$ret = array ();

if ( is_dir ("./".$directory) ) {

$dir = opendir ("./".$directory);

while ( $filename = readdir($dir) ) {
    if ($filename != "." and $filename != ".." and !eregi (".php|.css|.rrd|.fl|.htaccess", $filename)) {
        if ( is_dir ("./".$directory."/".$filename) ) {
            $ret[] = "<a class=\"dir\" title=\"".$filename."\" href=\"".$siteurl."index.php/dir_".$directory."/".$filename."\">/".$filename."</a>\n";
        } else {
            $ext = getFileext ($filename);
            if ( $ext == "png"  or $ext == "gif" or $ext == "jpg" ) {
                //$ret[] = "<a title=\"".$filename."\" OnClick=\"window.open('".$siteurl."files/img_".$directory."/".$filename."', 'popup_aircraft_usage', 'scrollbars=yes, width=800, height=600, ScreenX=100, ScreenY=100'); return false;\" href=\"#\">".$filename."</a>\n";
                $ret[] = "<a title=\"".$filename."\" href=\"".$siteurl."index.php/img_".$directory."/".$filename."\">".$filename."</a>\n";
            } else {
                $ret[] = "<a title=\"".$filename."\" href=\"".$siteurl.substr ($directory."/".$filename, 1)."\">".$filename."</a>\n";
            }
        }
    }
}

natsort ($ret);

} else {
    header ("Location: ".$siteurl."");
    exit ();
}

return $ret;

}

// End Filelist


//
// Calculate back
//

function calcBack ($img) {
    global $siteurl;
    $up = explode ("/", $img);
    $dircount = count ( $up );
    $path = array ();
    if ( $dircount > 1 ) {
        for ( $i=0;$i < ($dircount-1);$i++ ) {
            $path[] = $up[$i];
        }
        return "<li><a class=\"back\" href=\"".$siteurl."index.php/dir_".$s.implode ('/', $path)."\"> -- back --</a>\n<br><br>\n";
    }
}

//


//-------------------------
// Start Get File Extension
//-------------------------

function getFileext ($fileext) {
    return substr(strrchr($fileext,"."),1);
}

// End Get File Extension

?>





på forhånd tak.
Avatar billede stois Nybegynder
07. oktober 2004 - 14:54 #1
http://xb.serveftp.net/upload/

Der er jo adgangskode på det link, så man kan ikke rigtigt se det virke =(
Avatar billede eds Nybegynder
07. oktober 2004 - 14:58 #2
hov undskyld :) brugernavn xb og password 22334455
Avatar billede bojo Nybegynder
09. oktober 2004 - 11:31 #3
jeg gætter på at hvis du fjerner index.php her vil det virke såfremt din folder starter med img_ ellers skal det også væk

href=\"".$siteurl."index.php/img_".$directory."/".$filename."\">".$filename."</a>\n";
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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