<?php class ftp { var $conn; function __construct() { if ($_GET['do']=='unlog') { $this->usunDane(); } if ($_POST['logowanie']=='1') { $this->logowanie(); } if ($_SESSION['dane']=='1') { $this->polaczenie(); if ($_POST['form2']=='true') { if ($_POST['usunPlik']!='') @ftp_delete($this->conn, $_POST['usunPlik']); } foreach ($_FILES as $this->odebrany) { continue; } $this->upl = @ftp_put($this->conn, $_SESSION['folder'].basename($this->odebrany['name']), "upload/".$this->odebrany['name'], FTP_BINARY); if ($this->upl) else } } $this->pokazFoldery($_SESSION['folder']); } else { $this->pokazForme(); } } private function logowanie() { $_SESSION['dane']='1'; } private function usunDane() { unset($_SESSION['dane'], $_SESSION['serwer'], $_SESSION['login'], $_SESSION['pass'], $_SESSION['folder']); } private function polaczenie() { $this->conn = ftp_connect($_SESSION['serwer']); $this->wynikLogowania = ftp_login($this->conn, $_SESSION['login'], $_SESSION['pass']); if ((!$this->conn) || (!$this->wynikLogowania)) { $this->usunDane(); exit; } else { //ftp_pasv($this->conn, true); $_SESSION['folder'] = '/'; } else if ($_POST['folder']!='') { $_SESSION['folder'] = $_POST['folder']; } } } private function parse_rawlist($array) { $this->current = $array[$i]; } return $this->structure; } private function displayDirs($folder) { $this->pliki = ftp_rawlist($this->conn, $folder); $this->rawlista = $this->parse_rawlist($this->pliki); if ($folder!='/'&&$folder!='') { } foreach ($this->rawlista as $this->plik) { $this->isdir = true; else $this->isdir = false; if ($this->plik['name']!='.'&& $this->plik['name']!='..'){ if ($this->isdir==true) { echo "<img src=\"ikony/dir.png\" alt=\"\" /></td><td><a href=\"#\" onclick=\"document.f1.folder.value='".$folder.$this->plik['name']."/'; document.f1.submit()\">".$this->plik['name']."</a></td><td> </td><td> </td>"; } else { } echo "<a href=\"ftp://".$_SESSION['login']."@".$_SESSION['serwer'].$folder.$this->plik['name']."\">".$this->plik['name']."</a>"."</td><td>"; if ($this->plik['size']<1024) else { /*trudniejsza wesja do przeanalizowania dla zaawansowanych: echo "(".($this->plik['size']>1024?round($this->plik['size']/1024, 2).' K':$this->plik['size']." ")."b)";*/ } echo "</td><td><a href=\"#\" onclick=\"document.f2.usunPlik.value='".$folder.$this->plik['name']."'; if (confirm('Czy usunać plik ".$this->plik['name']." ?')) {document.f2.submit()}\">usuń plik</td>"; } } } } private function pokazForme() { if ($_GET['error']=='1') ?> <form action="ftp.php" method="post"> <input type="text" name="serwer" size="5">Adres serwera<br /> <input type="text" name="login" size="5">Twój login<br /> <input type="password" name="pass">Twoje hasło<br /> <input type="hidden" name="logowanie" value="1"> <input type="submit" value="Loguj sie"> </form> <?php } function __destruct() { @ftp_close($this->conn); } } $ftp=new ftp; ?> <HTML> <head> <meta http-equiv="content-type" content="text/html; charset=utf8"> <TITLE>homeftp</TITLE> </HEAD> <BODY> <?php ?> <form name="f1" action="ftp.php" method="post"> <input type="hidden" name="folder" value="" /> </form> <form name="f2" action="ftp.php" method="post"> <input type="hidden" name="form2" value='true'> <input type="hidden" name="usunPlik" value="" /> </form> <?php if ($_SESSION['dane']==='1') { ?> <form method="post" action="ftp.php" enctype="multipart/form-data"> <input type="file" name="1"> <input type="file" name="2"> <input type="file" name="3"> <input type="submit" value="wyslij"> </form><br /> <a href="?do=unlog">Wyloguj się z serwera</a> <?php } ?> </BODY> </HTML>
po zalogowaniu powinna się ukazac lista folderów/plików na serwerze lecz sypię błędem:P
Fatal error: Call to undefined method ftp::pokazFoldery() in /var/www/virtual/kingofspace.c0.pl/ftp.php on line 34
Jeżeli chodzi o hosting skrypt pracuje na cba.pl