Uploadscript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Uploadscript

    Hallo

    Ich bin ziemlich neu in der PHP ENtwicklerszene und habe darum eine Frage... Ich habe shcon länger mal ein Uploadscript gedownloadet und jetzt wenn ich ne Datei auf den Server lade (Geht alles supi) wird der md5 als name genommen... wie kann ich das wie z.b bei rapidshare machen? das man den namen behalten kann??!!!

    Ausschnitt aus dem Code:

    Code:
    if(in_array($ext, $extensions))
    { 
    if($size<=$maxsize && $size!=0)
    {
    while(file_exists($uploddir.$newname) || !$newname)
    {
    [B]$newname = md5(uniqid(rand()));[/B]
    }
    Ich weiss, das ich den dick markierten Text ändern muss, aber in was?? ThX für Hilfe...

  • #2
    das man den namen behalten kann?
    Dann behalt ihn doch.....
    Wo ist dein Problem?
    Wir werden alle sterben

    Kommentar


    • #3
      Ja das der Name so bleibt, wie er ist... Was muss ich ändern?

      Kommentar


      • #4
        Der Name bleibt doch wie er ist. Definiere dein Problem. Bzw. erkläre, warum du der Meinung bist, dass der name "nicht bleibt"?

        http://das-dass.de

        Kommentar


        • #5
          Ich weiß nicht ganz was du suchst, aber
          PHP-Code:
          $_FILES['userfile']['name'
          hier ist der Dateiname auf der Clientseite abgelegt!

          Kommentar


          • #6
            Also z.b möchte ich auf diesen Server eine Datei raufladen... Die Datei heisst test.zip und wenn ich sie jetzt rauflade kommt auf dem Server immer der md5 hash als name... Wie kann ich machen, das der Name auf dem Server immernoch test.zip und nicht etwas wie 71c8b115010de51765d40920646b49f2.zip??
            ThX


            Hier der komplete Code:

            Code:
            <?php
            
            // Einstellungen
            $maxsize = "1572864"; // Maximale Uploadgrösse
            $uploddir = "files/"; // Upload Ordner
            $extensions = array(".jpg",".jpeg", ".gif", ".png", ".bmp", ".zip", ".rar", ".txt", ".doc", ".exe", ".swf"); // Erlaubte Erweiterungen
            
            if($_POST['action']=="upload")
            {
            $tmp_name = $HTTP_POST_FILES['bild']['tmp_name']; // Der Originalname 
            $name = $HTTP_POST_FILES['bild']['name']; // Der Originalname 
            $size = $HTTP_POST_FILES['bild']['size']; // Größe der Datei 
            $type = $HTTP_POST_FILES['bild']['type']; // Der Dateitype der Datei 
            
            $ext_tmp = explode(".", $name);
            $ext = ".".$ext_tmp[(count($ext_tmp)-1)];
            
            if(in_array($ext, $extensions))
            { 
            if($size<=$maxsize && $size!=0)
            {
            while(file_exists($uploddir.$newname) || !$newname)
            {
            $newname = md5(uniqid(rand()));
            }
            
            if(move_uploaded_file($tmp_name, $uploddir.$newname.$ext))
            {
            echo "Die Datei wurde erfolgreich hochgeladen.<br>"; 
            echo "Name: ".$name."<br>";
            echo "Größe: ".$size." Byte<br>"; 
            echo "Dateityp: ".$type."<br>";
            echo "Ansehen/Downloaden: <a href='".$uploddir.$newname.$ext."'>".$uploddir.$newname.$ext."</a>"; 
            }
            else{echo "Fehler: Datei konnte nicht verschoben werden!";}
            }
            else
            { 
            echo "Ihre Datei ($size) ist über 1,5 MB oder gleich 0 KB"; 
            } 
            }
            else
            { 
            echo "Falsche Erweiterung. Erlaubte Dateitypen: .JPEG, .JPG, .PNG, .GIF, .BMP, .ZIP, .RAR, .TXT, .DOC, .EXE und .SWF ".$name; 
            } 
            }
            else
            { 
            echo "<form action='".$_SERVER['PHP_SELF']."' enctype=\"multipart/form-data\" method='post'>";
            echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".$maxsize."\">";
            echo "<input type='hidden' name='action' value='upload'>"; 
            echo "<table>"; 
            echo "<tr>"; 
            echo "<td>Datei</td><td><input type='file' name='bild'></td>"; 
            echo "</tr><tr>"; 
            echo "<td> </td><td><input type='submit' value='Hochladen'></td>"; 
            echo "</tr>"; 
            echo "<tr>Maximale Uploadgrösse: 1,5 MB (1572864 KB)</tr>"; 
            echo "</tr>"; 
            echo "</tr>"; 
            echo "</tr>"; 
            echo "</tr>"; 
            echo "<td>Uploadscript made by Basecamp</tr>"; 
            echo "</form>";
            echo "</table>"; 
            } 
            
            ?>

            Kommentar


            • #7
              Original geschrieben von PHP-Desaster
              PHP-Code:
              $_FILES['userfile']['name'
              hier ist der Dateiname [auf] der Clientseite abgelegt!

              Kommentar


              • #8
                Ergänze die folgende Zeile:
                Code:
                ...
                $name = $HTTP_POST_FILES['bild']['name']; // Der Originalname
                [b]$newname = $HTTP_POST_FILES['bild']['name']; // Der neue Name[/b]
                $size = $HTTP_POST_FILES['bild']['size']; // Größe der Datei 
                ...
                Der Dateiname ist jetzt nur noch ein Hash wenn die Datei schon existiert.
                Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                Kommentar


                • #9
                  Original geschrieben von tontechniker
                  Code:
                  ...
                  $name = $HTTP_POST_FILES['bild']['name']; // Der Originalname
                  [b]$newname = $HTTP_POST_FILES['bild']['name']; // Der neue NameErgänze die folgende Zeile:
                  $size = $HTTP_POST_FILES['bild']['size']; // Größe der Datei 
                  ...
                  Der Dateiname ist jetzt nur noch ein Hash wenn die Datei schon existiert. [/B]


                  THX!!! GENAU DAS MEINTE ICH!!! DANKE VIELMAL ECHT!!!

                  Kommentar


                  • #10
                    war das nun soooo schwer, dass hier 4 Antworten von 4 verschiedenen Leuten notwendig war ?

                    Kommentar


                    • #11
                      OffTopic:
                      Ja!
                      War es. Und es wird so bleiben!
                      Dokuleseverweigerung gepaart mit konsequenter Benutzung von veralteteten Variablen
                      Zuletzt geändert von combie; 16.09.2007, 20:07.
                      Wir werden alle sterben

                      Kommentar

                      Lädt...
                      X