1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Information ausblenden

PHP-Uploadscript

Dieses Thema im Forum "Web-Know-how für die Homepage" wurde erstellt von tdhp, 15. Februar 2006.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. tdhp

    tdhp Halbes Megabyte

    Wollte meinen Homepagebesuchern einen upload Ihrer Daten auf meinen Webspace ermöglichen, jedoch kam es zu ein paar Problemen.

    Ich habe dafür 2 php Dateien. Die eine heißt "form.php". Diese enthält folgenden code:
    PHP:
    <form action="hochladen.php" method="post" enctype="multipart/form-data">
    Datei: <input type='file' name="bilddatei" value="Durchsuchen"><br>
    Ihre E-Mail-Adresse: <input type="text" name="email"><br>
    <
    input type="submit" name="Senden" value="Hochladen">
    </
    form>
    Die andere heißt "hochladen.php". Diese enthält folgenden code:
    PHP:
    <?php
    $host 
    "localhost";            //Mysql-Host
    $user "voegerl";                 //Mysql-User
    $pass "meinpasswort";                 //Mysql-Passwort
    $data "voegerl";             //Mysql-Datenbank
    $m_table "upload";            //Mysql-Tabelle
    $ordner "file/";            //Upload-ordner (CHMOD777)
    $email "meineemailadresse";     //E-Mail-Adresse @ Admin

    $extlimit "yes"//nur bestimmte Endungen zu lassen?
    $limitedext = array(".rar",".zip",".jpg"); //Dateiendungen die erlaubt sind
    $sizelimit "yes"//Größenbegrenzung ja oder nein?
    $sizebytes 1572800//maximale größe in bytes
    $sizeBytesinmb=$sizebytes/1024/1024;
    if(
    $bilddatei!= "") {
       if ((
    $sizelimit == "yes") && ($bilddatei_size $sizebytes)) {
          echo 
    "Die Datei ist zu gross, sie darf maximal $sizeBytesinmb MB groß sein.";
       }
       else {
          
    $ext strrchr($bilddatei_name,'.');
             if ((
    $extlimit == "yes") && (!in_array($ext,$limitedext))) {
                echo 
    "Die Datei hat nicht die richtige Endung.";
             } elseif (
    file_exists("$bilddatei_name")) {
                echo 
    "Die Bilddateiname existiert bereit. Bitte ändere deine Bilddateiname und versuche es nochmal.";
             } else {
                if (
    $_POST['email'] == "") {
                   echo 
    "Sie müssen eine E-Mail-Adresse eingeben, um den Upload-Dienst nutzen zu können. Der Link der hochgeladenen Datei wird Ihnen dann an Ihre Email-Adresse geschickt";
                } else {
                   
    move_uploaded_file($_FILES['bilddatei']['tmp_name'],"".$ordner."".$_FILES['bilddatei']['name']);
                   
    $dir dirname ($_SERVER['PHP_SELF']);
                   
    $message1 "Upload-File\n\nIP: ".$_SERVER['REMOTE_ADDR']."\nEmail: ".$user_mail."\n\n\nhttp://".$_SERVER['HTTP_HOST']."".$dir."/".$ordner."".$_FILES['bilddatei']['name']."";
                   
    $message2 "Upload-File\n\nVielen Dank, dass Sie den Upload-Dienst auf unserer Seite genutzt haben. Ihre Datei wurde erfolgreich hochgeladen und ist unter folgendem Link zu erreichen:\nhttp://".$_SERVER['HTTP_HOST']."".$dir."/".$ordner."".$_FILES['bilddatei']['name']."\n\nMit freundlichen Grüßen\n";
                   
    mail($email,"Upload-File",$message1,"FROM: $user_mail");
                   
    mail($user_mail,"Upload-File",$message2,"FROM: $email");
                   
    $vb mysql_connect($host,$user,$pass);
                   
    mysql_select_db($data);
                   
    $result mysql_query("INSERT INTO $m_table (ip, url) VALUES ('".$_SERVER['REMOTE_ADDR']."', 'http://".$_SERVER['HTTP_HOST']."".$dir."/".$ordner."".$_FILES['bilddatei']['name']."')",$vb);
                   if (
    mysql_affected_rows($vb) > 0) {
                      echo 
    "Ihr Upload war erfolgreich!";
                   }
                }
             }
       }
    }
    ?>
    Doch bei der e-mail, die mir zugeschickt wird, wird nur die IP des Uploaders angezeigt, aber nicht die e-mail-adresse. Was muss ich ändern, dass beides angezeigt wird? Hier ein Bild, das dies verdeutlicht.

    Kann man auch machen, dass der Uploader die gleiche E-Mail bekommt, die ich auch bekomme, damit er den Download-Link bekommt?

    Wenn ich die gleiche Datei hintereinander hochlade, kommt trotzdem "Upload war erfolgreich" und nicht, dass die Datei schon existiert und deshalb die zu hochladende Datei umbenannt werden muss.

    Was muss ich ändern, damit die 3 Probleme, die ich habe, behoben sind. Bin auch jedem dankbar, der eines der drei Probleme lösen kann.
     
  2. tdhp

    tdhp Halbes Megabyte

    Probleme haben sich gelöst.

    --> Thread kann geschlossen bzw. gelöscht werden.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen