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,... | |