
Dateiupload
Datei
PHP
Tutorial
Loading...
<?php // Grafixx Dateiupload session_start(); // startet die Session //---------------------- Logindaten --------------------------------- // $grafixx_name = "USERNAME"; // Loginname angeben $grafixx_pass = "PASSWORT"; // Loginpasswort angeben //------------------------------------------------------------------ // //--------------------- Upload-Einstellungen --------------------------------- // $maxsize = "1048576"; // Maximale Uploadgroesse (1 MB) $uploaddir = "images/"; // Upload Ordner $allowed_files = array(".jpg", ".gif"); // Erlaubte Dateien // --------------------------------------------------------------------------- // ob_start(); // startet den Ausgabepuffer ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Grafixx - Dateiupload || The easy way to upload files </title> <meta http-equiv="Content-Language" content="de" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> </head> <body> <div id="ram"> <h1 id="header">Grafixx - Dateiupload <small>The easy way to upload files ...</small> </h1> <br /> <?php $pfad = $_SERVER['PHP_SELF']; // generiert aktueller Pfad zur Datei // -------------------------------- Logout -------------------------------------- if (isset($_GET['action']) AND ($_GET['action'] == 'logout')){ session_unset(); session_destroy(); //Session zerstoeren header("Location: $pfad"); // Weiterleitung } // ------------------------------------ Login --------------------------------------- if (!isset($_SESSION['login'])){ if(isset($_POST['admin_login'])) { //sofern Login gedrueckt if(empty($_POST['admin_name']) OR empty($_POST['admin_pass'])) { // Pruefen ob alle Felder ausgefuellt $message .= 'Bitte geben Sie ihren Usernamen ein ... <br />'; $error = "1"; // Fehler } // Pruefen ob Zugangsdaten korrekt if(($_POST['admin_name'] != $grafixx_name) OR ($_POST['admin_pass'] != $grafixx_pass)){ $message .= 'Zugriff verweigert ... <br />'; $error = "1"; // Fehler } if($error != "1"){ // Wenn kein Fehler // session handle----------------------------- $_SESSION['login'] = $_SERVER['REMOTE_ADDR']; header("Location: $pfad"); // Weiterleitung => Eingeloggt } if($error == "1"){ // Fehlermeldung ausgeben echo "<div class=\"error\"><h1>Error ...</h1>\n <p>$message</p></div>"; } } // LoginFormular ausgeben ?> <form action="" method="post"> <fieldset style="width: 300px"> <legend>Login</legend> <label for="user">Username: </label> <input type="text" name="admin_name" style="width: 250px" /> <label for="passwort">Passwort: </label> <input type="password" name="admin_pass" style="width: 250px" /> <br /><br /> <input type="submit" value=" Login " name="admin_login" /> </fieldset> </form> <?php } //------------------------------------- Login ENDE ----------------- //------------------- Wenn eingeloggt ------------------------------------------------ if(isset($_SESSION['login'])){ // Funktion um die Maximale Dateigroesse uebersichtlich in KB/MB/GM darzustellen function grafixx_size($datei_size, $nachkommastellen = 0) { $d_size = $datei_size; if($d_size >= 1073741824){ // wenn groeser als 1073741824 Byte - GB ausgeben return round($d_size/(1073741824), $nachkommastellen)." GB"; } if($d_size >= 1048576){ // wenn groesser als 1048576 Byte - MG ausgeben return round($d_size/(1048576), $nachkommastellen)." MB"; } if($d_size >= 1024){ // wenn groesser als 1024 Byte - KB ausgeben return round($d_size/(1024), $nachkommastellen)." KB"; } return $d_size." Byte"; } if(isset($_POST['submit'])){ // Wenn Submit gedrueckt wurde // Pruefen ob input'image' nicht leer ist if(empty($_FILES['file']['tmp_name'])) { $message.= 'Bitte Danke eine Datei angeben ... <br />'; $error = "1"; // Fehler }else{ if(isset($_FILES['file']['tmp_name'])){ $tmp_name = $_FILES['file']['tmp_name']; } // Originaler Dateiname if(isset($_FILES['file']['name'])){ $name = $_FILES['file']['name']; } // Originalname if(isset($_FILES['file']['size'])){ $size = $_FILES['file']['size']; } // Groee der Datei if(isset($_FILES['file']['type'])){ $type = $_FILES['file']['type']; } // MIME Type der Datei echo $_FILES['file']['name']; $datei_typ = strrchr($_FILES['file']['name'], "."); // Dateieindung herausfiltern // Pruefen ob die Datei erlaubt ist if(in_array($datei_typ, $allowed_files)){ // Pruefen ob die Dateigroesse passt / keine leere Datei ist if($size <= $maxsize && $size!=0){ $newname = md5(uniqid(rand())); // Der Datei einen neuen einmaligen Namen verpassen // Datei in Verzeichnis kopieren if(move_uploaded_file($tmp_name, $uploaddir.$newname.$datei_typ)){ echo "<h2>Die Datei wurde erfolgreich hochgeladen...</h2>"; echo "<p><strong>Dateigroesse:</strong> ".grafixx_size($size)."<br />\n"; echo "<strong>MIME-Type:</strong> ".$type." <br /><br />\n"; echo "<strong>Datei ansehen =></strong>\n"; echo "<a href='".$uploaddir.$newname.$datei_typ."' target=\"_blank\">".$uploaddir.$newname.$datei_typ."</a></p>\n"; $okay = "yes"; }else{ // Wenn Datei nicht ins angegebene Verzeichnis kopiert werden konnte $message .= 'Datei konnte nicht verschoben werden ... <br />'; $error = "1"; // Fehler } }else{ // Wenn Datei zu gross ist $message .= "Die Datei <strong>".$name."</strong> ist schwerer als die erlaubten ".grafixx_size($maxsize)." ... <br />"; $error = "1"; // Fehler } }else{ // Wenn Dateityp nicht erlaubt ist $message .= "Der Dateityp der Datei <strong>".$name."</strong> ist nicht gestattet ...<br />"; $error = "1"; } } // close (empty($_POST['images'])) if(isset($error) && ($error == "1")){ // Fehlermeldungen ausgeben echo "<div class=\"error\"><h1>Error ...</h1>\n <p>$message</p></div>"; } } // close submit gedrueckt Wenn nicht submit gedrueckt if(!isset($okay)){ // wenn nicht okay -> Formular ausgeben ?> <form action="" method="post" enctype="multipart/form-data"> <fieldset> <legend>Dateiupload</legend> <label>Datei: <input type="file" name="file" id="file" /></label> <p> <strong>Erlaubte Dateitypen:</strong> <?php foreach($allowed_files AS $name){ echo "$name "; } /* erlaubt Dateitypen auflisten */ ?> <br /> <strong>Maximale Dateigroesse:</strong> <?php echo grafixx_size("$maxsize", 2); /* Maximale Dateigroesse ausgeben */?> </p> <input type="submit" value="Datei Hochladen" name="submit" /> </fieldset> </form> <?php } // close !okay }// close eingeloggt ?> <h3>Grafixx - Dateiupload <a href="http://alice-grafixx.de">Alice-Grafixx.de</a> <?php echo date('Y'); ?> <?php // Admin Logout -------------------------------------- if(isset($_SESSION['login'])){ // Wenn eingeloggt echo "| <a href=\"$pfad?action=logout\">logout</a>"; } ?> </h3> </div> </body> </html>
Du musst angemeldet sein, um einen Kommentar zu hinterlassen...
Du bist noch kein Mitglied von Alice-Grafixx.de?
Dann kannst du dich hier kostenlos registrieren ...