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\">© 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.
