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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | <?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." ; ?> |
1 2 | ##uploaden $upload = ftp_put($con, $uploadfile, $tempname, $modus); |
Geschlossen | ||
![]() |
Zurück zu HTML, PHP, SQL,... |