Ich hab jetzt mal gegooglet und nix derartiges gefunden, nur so fertig "Web FTP" Seiten, welche man dann wie ein FTP Client nutzt. Etwas ähnliches wie in deinem Panel vorhanden ist hab ich nicht gefunden.
Hab mir auch mal Westi's Panel angeschaut und festgestellt das man ohne weiteres das da gar nicht so einfach raus bekommt, dann frag ich mich wieso du dir soviel mühe machst um sowas angeblich rauszubauen anstatt einfach selbst etwas zu machen, wenn der rest ja sowieso von dir ist...
Hey,
ich gebe nicht an ein eigenes gemacht zu haben, das WebFTP script von Westi blieb so wie es war nur ein wenig ein dem Quellentext (style Mäsig) editiert.
Ich habe viele dinge neu geschrieben und natürlich auch verändert.
Ich werde später dir das Web FTP geschichten zeugs von dort raus kopieren 
Neuer demo Link:
http://95.115.255.24/555/index.php?mode=login
Die WebFTP Funktion: (Hoffe das sie dir was bringt)
class FileManagerCore
{
function RemoveFolder($dir, $DeleteMe = true)
{
if(!$dh = @opendir($dir)) return;
while(false !== ($obj = readdir($dh)))
{
if($obj == '.'

$obj == '..') continue;
if(!@unlink($dir.'/'.$obj)) FileManagerCore::RemoveFolder($dir.'/'.$obj, true);
}
closedir($dh);
if ($DeleteMe)
{
@rmdir($dir);
}
MiscCore::SuccessFunc('Der Ordner wurde erfolgreich gelöscht. <br /><a href="?mode=files&dir='.$_GET['redir'].'">Zurück</a><br />');
}
function RemoveFile($folder, $path)
{
$filepath = $folder.'/'.$path;
$filepath = str_replace("../", "", $filepath);
@unlink($filepath) or MiscCore::ErrorFunc("Sorry, there was an undisclosed error. Probably the file doesn't exist.");
MiscCore::SuccessFunc('Die Datei wurde erfolgreich gelöscht. ('.$path.') <br /><a href="?mode=files&dir='.$_GET['redir'].'">Zurück</a><br />');
}
function EditFiles($path, $file, $returnurl = false)
{
if(!isset($file)

!isset($path))
{
MiscCore::ErrorFunc('Diese Datei existiert nicht.');
}
$dir = explode('/', $_GET['edit']);
if(!FileManagerCore::CheckBlackList($dir[0])

!FileManagerCore::CheckBlackList($dir[1]))
{
MiscCore::ErrorFunc("Sie können diese Datei nicht bearbeiten.");
}
$filepath = $path.$file;
$filepath = str_replace("../", "", $filepath);
if(!FileManagerCore::CheckExtBlackList($filepath))
{
MiscCore::ErrorFunc("Diese Datei existiert nicht.", true);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!isset($_POST['newfile']))
{
MiscCore::ErrorFunc('Bitte geben sie neue Daten für diese Datei ein.');
}
if(!file_exists($filepath))
{
MiscCore::ErrorFunc("Diese Datei existiert nicht.", true);
}
$f = fopen($filepath, 'w') ;
$result = stripslashes($_POST['newfile']);
fwrite($f, $result);
fclose($f);
MiscCore::SuccessFunc('Die Datei wurde erfolgreich gespeichert.<br /><a href="?mode=files&dir='.$_GET['redir'].'">Zurück</a> <a href="?mode=files&edit='.$_GET['edit'].'&redir='.$_GET['redir'].'">Bearbeiten</a><br />');
}
else
{
if(!file_exists($filepath))
{
MiscCore::ErrorFunc("Diese Datei existiert nicht.", true);
}
$f = fopen($filepath, 'r');
$data = @fread($f, filesize($filepath));
fclose($f);
echo '<h3>Bearbeitungs Datei: '.htmlentities($file).'</h3>';
echo '<form method="POST">';
echo '<textarea name="newfile" rows="20" cols="78" style="font-family: Consolas, \'Courier New\'; font-size: 12px;">'.htmlentities($data).'</textarea>';
echo '<br />';
echo '<input type="submit" class="button" name="submit" value="Speichern" /> <a href="?mode=files&dir='.$_GET['redir'].'"><span class="button">Abbrechen</span></a>';
echo '</form>';
}
}
function CreateFile($basedir, $path)
{
$filepath = $basedir.'/'.$path;
$filepath = str_replace("../", "", $filepath);
$handle = fopen($filepath, 'x+');
fwrite($handle, '');
fclose($handle);
}
function CreateFolder($path, $folder)
{
$oldumask = umask(0);
mkdir ($path.''.$folder, 0777);
umask($oldumask);
}
function UploadFiles($path)
{
$returnage = "";
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (isset($_FILES['file']) == false OR $_FILES['file']['error'] == UPLOAD_ERR_NO_FILE)
{
MiscCore::ErrorFunc('Sie haben keine Datei zum Hochladen ausgewählt.');
}
if ($_FILES['file']['error'] != UPLOAD_ERR_OK

!FileManagerCore::CheckExtBlackList($_FILES['file']['name']))
{
$_SESSION['file_error'] = true;
MiscCore::ErrorFunc('Die Datei die sie Hochladen wollen ist zu groß.', true);
}
$newfile = $path.'/'.$_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'], $newfile);
MiscCore::SuccessFunc('Die Datei wurde erfolgreich Hochgeladen. <br /><a href="?mode=files&dir='.$_GET['redir'].'">Zurück</a><br />');
}
else
{
$returnage .= '<form action="" method="POST" enctype="multipart/form-data">';
$returnage .= '<input type="file" name="file" size="30">';
$returnage .= '<input type="submit" class="button" value="Datei Hochladen" />';
$returnage .= '</form>';
return $returnage;
}
}
function DownloadFile($basedir, $file)
{
$backup = $basedir.'/'.$file;
header('Content-type: application/octet-stream');
header("Content-Length: ".filesize($backup));
header('Content-Disposition: attachment; filename="'.$file.'"');
readfile($backup);
exit;
}
function RenameFile($oldpath, $newpath)
{
rename($oldpath, $newpath);
}
function ViewDirectory($basedir, $folder = "")
{
global $file_folder_blacklist;
$_SESSION['f_folder'] = $basedir.'/'.$folder;
$path = $basedir.'/'.$folder;
$disallowed = array("../", "..");
$path = MiscCore::WeedKiller($path, $disallowed);
$dir = explode('/', $_GET['dir']);
echo '<strong>Datei/Ordner Pfad:</strong> /';
print '<a href="?mode=files">~</a>/';
$string = "";
$msg = "";
$i = 0;
foreach($dir as $content)
{
str_replace("/", "", $content);
$i++;
if($i == 1) $string .= $content;
else $string .= '/'.$content;
if(strlen($string) < 4) continue;
$msg .= '<a href="?mode=files&dir='.$string.'">'.$content.'</a>/';
}
foreach($dir as $blocked)
{
if(!FileManagerCore::CheckBlackList($blocked)) MiscCore::ErrorFunc("Der Zugang zu diesem Bereich ist von ihrer Ip Adresse verweigert!", true);
}
echo '<strong>Zeige Optionen:</strong> <input type="checkbox" name="" value="1" onclick="ShowBox(\'filemgr_toolbar\', this)">';
echo '<div id="filemgr_toolbar" style="display:none;">';
MiscCore::InfoFunc('<form name="filecreate" method="post" action="">
<label>Name: <input type="text" name="textfield"> </label>
<label>Ordner: <input name="result" type="radio" value="folder"> </label>
<label>Datei: <input name="result" type="radio" value="file"> </label>
<input name="create" type="submit" value="Erstellen" class="button">
</form>'.
FileManagerCore::UploadFiles($_SESSION['f_folder']));
echo "<br /><strong>Hilfe:</strong> Öffne die Option in dem sie auf das Bild klicken. <br />Schliese die Option in dem sie nochmals auf das Bild klicken.";
echo "</div>";
$index = 0;
if($handle = @opendir($path))
{
echo '<br /><br />'; /*<strong>Directories</strong><br />';*/
while(false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$fName = $file;
/* Getting teh folders: */
if(is_dir($path.'/'.$file))
{
$dis[1] = true;
if(!FileManagerCore::CheckBlackList($fName)) continue;
if(!FileManagerCore::CheckExtBlackList($fName)) continue;
if(!is_readable($path.'/'.$file)

!is_writeable($path.'/'.$file)) continue;
echo '<table width="570" border="0" cellpadding="3" cellspacing="0">
<tr>
<td width="4%">
<div id="fileicon-a'.$index.'" style="display: block;">
<a style="cursor: crosshair;" alt="Klicken sie hier um die Optionen zu zeigen." onclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'block\');">
<img src="index.php?image_create=folder" alt="" style="border: 0px; padding: 0px; margin: 0px;" />
</a>
</div>
<div id="fileicon-b'.$index.'" style="display: none;">
<a style="cursor: crosshair;" alt="Klicken sie hier um die Optionen zu schließen." onclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'none\');">
<img src="index.php?image_create=folder" alt="" style="border: 0px; padding: 0px; margin: 0px;" />
</a>
</div>
</td>
<td width="96%"><a href="?mode=files&dir='.$_GET['dir'].'/'.$file.'">'.$file.'</a></td>
</table>';
echo '<div class="filecontent" id="filecontent-'.$index.'" ondblclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'none\');">'.
"\n".'<div class="filepadding"><table width="290" border="0" cellspacing="0" cellpadding="2">'.
"\n".'<tr>'.
"\n".'<td width="16"><a href="?mode=files&fdelete='.$_GET['dir'].'/'.$file.'&redir='.$_GET['dir'].'"><img src="index.php?image_create=_delete" alt="Löschen" style="border: 0px; padding: 0px; margin: 0px; a:link { border: 0px; }" /></a></td>'.
"\n".'<td width="65">Löschen</td>'.
"\n".'<td><strong>Bearbeitet am:</strong> '.date("d/m/Y H:i:s", filemtime(_DIRECTORY.'/'.$_GET['dir'].'/'.$file)).'</td>'.
"\n".'</tr><tr>'.
"\n".'<td width="16"><a href="?mode=files&dir='.$_GET['dir'].'/'.$file.'"><img src="index.php?image_create=folder" alt="" style="border: 0px; padding: 0px; margin: 0px;" /></a></td>'.
"\n".'<td width="65">Öffnen</td>'.
"\n".'<td><strong>Dateiberechtigung:</strong> '.FileManagerCore::ViewPermsColour(_DIRECTORY.'/'.$_GET['dir'].'/'.$file).'</td>'.
"\n".'</tr><tr>'.
"\n".'<td width="16"></td>'.
"\n".'<td width="65"></td>'.
"\n".'<td> </td>'.
"\n".'</tr>'.
"\n".'</table></div>'.
"\n".'</div>';
$index++;
}
}
}
closedir($handle);
}
if($handle = @opendir($path))
{
//echo '<br /><strong>Files</strong><br />';
echo "<br />";
while($file = readdir($handle))
{
if ($file != "." && $file != "..")
{
$fName = $file;
/* Getting teh files */
if(!is_dir($path.'/'.$file))
{
if(!FileManagerCore::CheckBlackList($fName)) continue;
if(!FileManagerCore::CheckExtBlackList($fName)) continue;
if(!is_readable($path.'/'.$file)

!is_writeable($path.'/'.$file)) continue;
echo '<table width="570" border="0" cellpadding="3" cellspacing="0">
<tr>
<td width="4%">
<div id="fileicon-a'.$index.'" style="display: block;">
<a style="cursor: crosshair;" alt="Klicken sie hier um die Optionen zu zeigen." onclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'block\');">
<img src="index.php?image_create='.MiscCore::ReturnExtension($fName).'" alt="" style="border: 0px; padding: 0px; margin: 0px;" />
</a>
</div>
<div id="fileicon-b'.$index.'" style="display: none;">
<a style="cursor: crosshair;" alt="Klicken sie hier um die Optionen zu schließen." onclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'none\');">
<img src="index.php?image_create='.MiscCore::ReturnExtension($fName).'" alt="" style="border: 0px; padding: 0px; margin: 0px;" />
</a>
</div>
</td>
<td width="96%">'.$fName.'</td>
</tr>
</table>';
echo '<div class="filecontent" id="filecontent-'.$index.'" ondblclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'none\');">'.
'<div class="filepadding"><table width="290" border="0" cellspacing="0" cellpadding="2">'.
'<tr>'.
'<td width="16"><a href="?mode=files&download='.$_GET['dir'].'/'.$file.'"><img src="index.php?image_create=_download" alt="Download File" style="border: 0px; padding: 0px; margin: 0px; a:link { border: 0px; }" /></a></td>'.
'<td width="65">Download</td>'.
'<td><strong>Größe:</strong> '.FileManagerCore::GetFileSize(_DIRECTORY.'/'.$_GET['dir'].'/'.$file).'</td>'.
'</tr><tr>'.
'<td width="16"><a href="?mode=files&edit='.$_GET['dir'].'/'.$file.'&redir='.$_GET['dir'].'"><img src="index.php?image_create=_edit" alt="Edit File" style="border: 0px; padding: 0px; margin: 0px; a:link { border: 0px; }" /></a></td>'.
'<td width="65">Bearbeiten</td>'.
'<td><strong>Bearbeitet am:</strong> '.date("d/m/Y H:i:s", filemtime(_DIRECTORY.'/'.$_GET['dir'].'/'.$file)).'</td>'.
'</tr><tr>'.
'<td width="16"><a href="?mode=files&delete='.$_GET['dir'].'/'.$file.'&redir='.$_GET['dir'].'"><img src="index.php?image_create=_delete" alt="Delete File" style="border: 0px; padding: 0px; margin: 0px;" /></a></td>'.
'<td width="65">Löschen</td>'.
'<td><strong>Dateiberechtigung:</strong> '.FileManagerCore::ViewPermsColour(_DIRECTORY.'/'.$_GET['dir'].'/'.$file).'</td>'.
'</tr>'.
'</table></div>'.
'</div>';
$index++;
}
}
}
closedir($handle);
}
else
{
MiscCore::ErrorFunc("Die Konfigurationen/Einstellungen sind nicht abgeschlossen!<br>
Bitte Überprüfen sie ihre einstellungen.");
}
}
function CheckBlackList($file)
{
if (FILEBLACKLIST != "")
{
$blacklist = explode(" ", FILEBLACKLIST);
if(in_array(strtolower($file), $blacklist)) return false;
else return true;
}
else return true;
}
function CheckExtBlackList($file)
{
if (EXTBLACKLIST != "")
{
$blacklist = explode(" ", EXTBLACKLIST);
foreach ($blacklist as $black)
{
if(preg_match("/$black\$/i", $file))
{
return false;
}
}
return true;
}
else return true;
}
function FileManagerCheckVar()
{
if($_GET['create']

$_GET['delete']

$_GET['edit']

$_GET['copy']

$_GET['dir']) return 0;
else return 1;
}
function ParsePerms($mode)
{
if (($mode & 0xC000) === 0xC000) {$t = "s";}
elseif (($mode & 0x4000) === 0x4000) {$t = "d";}
elseif (($mode & 0xA000) === 0xA000) {$t = "l";}
elseif (($mode & 0x8000) === 0x8000) {$t = "-";}
elseif (($mode & 0x6000) === 0x6000) {$t = "b";}
elseif (($mode & 0x2000) === 0x2000) {$t = "c";}
elseif (($mode & 0x1000) === 0x1000) {$t = "p";}
else {$t = "?";}
$o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0;
$g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0;
$w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0;
return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w);
}
function ViewPerms($mode)
{
if (($mode & 0xC000) === 0xC000) {$type = "s";}
elseif (($mode & 0x4000) === 0x4000) {$type = "d";}
elseif (($mode & 0xA000) === 0xA000) {$type = "l";}
elseif (($mode & 0x8000) === 0x8000) {$type = "-";}
elseif (($mode & 0x6000) === 0x6000) {$type = "b";}
elseif (($mode & 0x2000) === 0x2000) {$type = "c";}
elseif (($mode & 0x1000) === 0x1000) {$type = "p";}
else {$type = "?";}
$owner["read"] = ($mode & 00400)?"r":"-";
$owner["write"] = ($mode & 00200)?"w":"-";
$owner["execute"] = ($mode & 00100)?"x":"-";
$group["read"] = ($mode & 00040)?"r":"-";
$group["write"] = ($mode & 00020)?"w":"-";
$group["execute"] = ($mode & 00010)?"x":"-";
$world["read"] = ($mode & 00004)?"r":"-";
$world["write"] = ($mode & 00002)? "w":"-";
$world["execute"] = ($mode & 00001)?"x":"-";
if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";}
if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";}
if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";}
return $type.join("",$owner).join("",$group).join("",$world);
}
function ViewPermsColour($file)
{
$o = $file;
if(!is_readable($o)) { return "<font color=red><acronym title=\"Diese Datei ist nicht lesbar!\">".FileManagerCore::ViewPerms(fileperms($o))."</acronym></font>"; }
elseif(!is_writable($o)) { return "<font color=white><acronym title=\"Diese Datei ist nicht schreibbar!\">".FileManagerCore::ViewPerms(fileperms($o))."</acronym></font>"; }
else { return "<font color=green><acronym title=\"Diese Datei ist nicht les- und schreibbar.\">".FileManagerCore::ViewPerms(fileperms($o))."</acronym></font>"; }
}
function CreateFileDirectoryImage($type = "NULL")
{
global $base64redirects, $base64images;
foreach($base64redirects as $extension=>$rawnames)
{
if(in_array($type, $rawnames))
{
$type = $extension; $found = true;
break;
}
}
if(!$found) $type = "unknown";
$image = $base64images[$type];
header("Content-type: image/gif");
header("Cache-control: public");
header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
header("Cache-control: max-age=".(60*60*24*7));
header("Last-Modified: ".date("r", filemtime(__FILE__)));
echo base64_decode($image);
exit;
}
function GetFileSize($file)
{
$size = filesize($file);
if (!is_numeric($size))
{
return false;
}
else
{
if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";}
elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";}
elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";}
else {$size = $size . " B";}
return $size;
}
}
}