server
ich such eine funktion, womit man die grösse eines ftp ordners ausgeben kann falls das überhaupt möglich ist
thx im vorraus
Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
Geschlossen |
<?php ######################################## ## Einstellungen $ftp_server = ""; $port ="21"; $user = ""; $password = ""; $eSer = "./"; ## Wo raufladen ## Nur einstellen wenn wo anders geuppt werden soll als in das Verzeichniss auf das der FTP ## Account eingestellt wurde $uploaddir = "/"; ## Erlaubte Dateitypen mit | trennen $types = "zip|rar|mp3"; ## Maximale Dateigröße in MB $maxsizemb = "400"; ## Einstellungen ende ######################################### echo "<form enctype=\"multipart/form-data\" method=\"POST\"> <input name=\"localfile\" type=\"file\" size=\"100\"> <br> <input type=\"image\" SRC=\"upload.jpg\" title=\"Hochladen\" name=\"sub\" value=\"Abschicken\"></form>"; $a = explode("|", $types); $arraypices = count($a); echo "<BR><BR> Maximaler Upload pro Datei :<font color=\"#ff0000\" > $maxsizemb MB </font><BR><BR> Erlaubte Dateitypen: <BR>"; for ($i = 0; $i < $arraypices; $i++) { echo "<font color=\"#ff0000\"> $a[$i] </font><BR> "; } echo "<BR>"; if($_FILES['localfile']){ $tempname = $_FILES['localfile']['tmp_name']; $name = $_FILES['localfile']['name']; $type = $_FILES['localfile']['type']; $size = $_FILES['localfile']['size']; $maxsizebytes = ($maxsizemb * 1024 * 1024); $modus = FTP_BINARY ; $userid="userid"; ##url zerlegen und userid anhängen $pathinfo = pathinfo($name); $name = basename($pathinfo['basename'], $pathinfo['extension']).$userid . $_SESSION['authid'] . '.' . $pathinfo['extension'] ; $uploadfile = "$uploaddir/$name"; ## ftp verbindung aufbauen $con = ftp_connect("$ftp_server"); $login = ftp_login($con, "$user", "$password"); if ((!$con) || (!$login)) { $err[] = "FTP Verbindung fehlgeschlagen! Bitte die FTP Logindaten überprüfen!"; die; } if(!preg_match("/\." . $types . "$/i" ,$_FILES["localfile"]["name"] )) { $err[] = " ungültige Dateiendung"; } ## max uploadgrösse vergleichen if($size > "$maxsizebytes") { $err[] = " Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt $maxsizemb MB!"; } if(empty($err)){ ##uploaden $upload = ftp_put($con, $uploadfile, $tempname, $modus); if (!$upload) { echo " Der Upload ist <font color=\"#ff0000\"><B>fehlgeschlagen!<B></font><BR><BR>"; } else { echo " Die Datei $name <font color=\"#00ff00\"><B>erfolgreich</B></font> hochgeladen!<BR><BR>"; } } else { foreach($err as $error) echo "$error<br>"; } ftp_quit($con); } $start = time(); ## umrechnen von byte in KB MB GB TB function byte_umrechner($bytes) { if ($bytes > pow(2,10)) { if ($bytes > pow(2,20)) { if ($bytes > pow(2,30)) { if ($bytes > pow(2,40)) { $size = number_format(($bytes / pow(2,40)), 2); $size .= " TB"; return $size; } else { $size = number_format(($bytes / pow(2,30)), 2); $size .= " GB"; return $size; } } else { $size = number_format(($bytes / pow(2,20)), 2); $size .= " MB"; return $size; } } else { $size = number_format(($bytes / pow(2,10)), 2); $size .= " KB"; return $size; } } else { $size = (string) $bytes . " Bytes"; return $size; } } ##ftp ordner auslesen function ftp_auslesen( $handle, $pfad ){ $i = 0; $read = ftp_nlist( $handle, $pfad ); foreach( $read as $val ){ $pfad2 = str_replace( "./", "", $pfad); if( $val != $pfad2."." and $val != $pfad2.".." ){ if( ftp_size( $handle, $val) != "-1" ){ $i += ftp_size( $handle, $val); }else{ $i += ftp_auslesen( $handle, $val."/" ); } } } return $i; } if( $open = ftp_connect( $ftp_server, $port ) ){ ##echo "FTP Verbindug wurde erfolgreich aufgebaut!<br /><br />"; ftp_login( $open, $user, $password ); $size = ftp_auslesen ( $open, $eSer ); $sizegesamt = "4294967296"; $sizefrei = $sizegesamt - $size; echo " Upload Speicherplatz ".byte_umrechner ($sizefrei). " von 4.00 GB"; ftp_quit( $open ); }else{ echo "Konnte keine Verbindung zum FTP aufbauen!"; } # Script Laufzeit echo "<br><br> Script Laufzeit:". (time() - $start ) ." sec."; ?>
##uploaden $upload = ftp_put($con, $uploadfile, $tempname, $modus);
Geschlossen | ||
Zurück zu HTML, PHP, SQL,... |