Ret brugernavn + kodeord + server og det spiller, vær dog opmærksom på at brugernavn + kodeord kan ses af den besøgende. Hvis du kan logge anonymt ind på ftp-serveren lader du bare brugernavn + kodeord være tomt
<?php
############################################################################
## Dette script er lavet af René Schwanda
## Det blev lavet en sen nat d. 3/7 -03
## Scriptet kan frit bruges, alt brug af dette script sker på eget ansvar
##
## Mvh.
## René Schwanda rene@schwanda.dk
www.gonza.dk############################################################################
$mytitle = "List files"; //Titlen på siden
$icondir = "
http://gonza.dk/icons/"; //Mappen hvor icons filerne fra apache ligger i (husk slash (/) til sidst)
$ftp_server = '
ftp.domain.dk'; //ftp serveren UDEN ftp:// KUN
ftp.domain.dk //OBS! Både brugernavn OG password vil være synligt for brugeren, hvorfor der KUN skal være læseadgang for brugernavnet
$ftp_brugernavn = 'brugernavn'; //brugernavn på ftp-serveren (blank hvis anonym)
$ftp_password = 'kodeord'; //password på ftp-serveren (blank hvis anonym)
//Definere hvad mappe der skal kikkes i på ftp-serveren
$ftp_dir = $_GET['dir'];
if (!isset($dir)){
$dir = "/";
}
//laver phpself
$phpself = $_SERVER["PHP_SELF"];
echo "
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<title>".$mytitle."</title>
<meta name=\"generator\" content=\"TSW WebCoder\">
</head>
<body>";
// Forbinder til ftp serveren
$connect = ftp_connect($ftp_server);
// logger ind med brugernavn/password
$login_result = ftp_login($connect, $ftp_brugernavn, $ftp_password);
// tjecker forbindelsen og udskriver fejl-/succesbesked
if ((!$connect) || (!$login_result)) {
echo "FTP forbindelsen fejlede!<br>";
echo "Prøvede at forbninde til ".$ftp_server."<br>";
exit;
} else {
echo "Forbindelsen til ".$ftp_server." forløb succesful<br>";
}
//udskriver/laver 'menu'
$menu = explode("/", $ftp_dir);
echo "<a href='".$phpself."'>root</a>";
foreach ($menu as $showmenu) {
if (!isset($menudir)){
$menudir = $showmenu;
}
else {
$menudir = $menudir."/".$showmenu;
}
echo "/<a href='".$phpself."?dir=".$menudir."'>".$showmenu."</a>";
}
echo "<br>";
// lister filerne i mappen angivet med $ftp_dir
$filelist = ftp_nlist($connect, $ftp_dir);
// Udskriver til skærmen
foreach ($filelist as $showfilesti) {
$showfilearray = explode("/", $showfilesti);
$showfilearray = array_reverse($showfilearray);
if ($showfilearray[0] == ''){
$showfile = $showfilearray[1];
}
else {
$showfile = $showfilearray[0];
}
//får fat i filstørrelsen
$stifil = $ftp_dir."/".$showfile;
$filesize = ftp_size($connect, $stifil);
//finder extension på filerne
$pathinfo = pathinfo($stifil);
$extension = $pathinfo["extension"];
$extension = strtolower($extension);
//hvis filstørrelsen = -1, fungerer som mappe
if ($filesize == '-1'){
$extimage = 'dir.gif';
$extension = 'dir';
$show_filesize = "";
$fileurl = "<a href='".$phpself."?dir=".$ftp_dir."/".$showfile."'>".$showfile."</a>";;
}
//ellers er det vel en fil
else{
//laver tekst om filstørrelsen
$show_filesize = " (".$filesize." bytes)";
if ($ftp_brugernavn == ''){
$fileurl = "<a href='
ftp://".$ftp_server."/".$ftp_dir."/".$showfile."'>".$showfile."</a>"; }
else {
$fileurl = "<a href='
ftp://".$ftp_brugernavn.":".$ftp_password."@".$ftp_server."/".$ftp_dir."/".$showfile."'>".$showfile."</a>"; }
//finder billede til extension, billederne er fra $icondir
if (($extension == 'jpg') OR ($extension == 'gif') OR ($extension == 'png') OR ($extension == 'bmp')){
$extimage = 'image2.gif';
}
else if (($extension == 'mpeg') OR ($extension == 'avi')){
$extimage = 'movie.gif';
}
else if (($extension == 'txt')){
$extimage = 'text.gif';
}
else if (($extension == 'gif')){
$extimage = 'compressed.gif';
}
else {
$extimage = 'unknown.gif';
}
}
//udskriver til skærmen
echo "<a href='#'><img src='".$icondir.$extimage."' title='".$extension."' border='0'></a>".$fileurl.$show_filesize."<br>";
}
//lukker forbindelsen til mysql
ftp_close($connect);
echo "
</body>
</html>";
?>