Ankündigung

Einklappen
Keine Ankündigung bisher.

Endung an Dateinamen anhängen

Einklappen

Neue Werbung 2019

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

  • Endung an Dateinamen anhängen

    PHP-Code:
    <html>
    <head>
    <title>
    <Upload...>
    </title>
    <body>
    <?php
    $dir 
    "uploads/";
    $originaledatei basename$_FILES['uploadedfile']['name']);

    if(isset(
    $_POST['upload'])) 

           
    // Zufälliger Dateiname: 
              
    $word md5(time()); 

           
    // Ein paar Zeichen vom Zufälligen Dateinamen abziehen 
              
    $word substr($word, -7);  
              
           
    // Dateiformat erfassen 
              
    $info   pathinfo($datei); 
              
    $format $info["extension"]; 
              
       
    // Der entgültige Dateiname 
          
    $dateiname    $originaledatei.' '.$word.'.'.$format;
          
          
    if(
    move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $dir/$dateiname)) { 
        echo 
    "Die Datei " .$originaledatei.  
        
    " wurde erfolgreich hochgeladen!"
    } else{ 
        echo 
    "Es gab einen Fehler während der Übertragung der Datei, versuch es nochmal!"
    } }

    ?>
    <span style="font-family:arial, sans-serif">
    <p>
    <strong><a href="uploader/Seite">Hauptmenü</a></strong>
    </span>
    </body>
    </html>
    Es passiert eigentlich gar nichts, nicht einmal das "echo" wird angezeigt. Zwar gebe ich mir mühe meine Skripts mehr oder weniger selbst zusammenzustellen, jedoch klappt es nicht immer und ich habe keine großen Erkenntnisse über php.

    Ich bin absoluter Anfänger und versuche einen Uploadskript zu erstellen. Ich hatte ursprunglich den Skript:
    PHP-Code:
    <html> 
    <head> 
    <title> 
    <Upload...> 
    </title> 
    <body> 
    <?php 
    $target_path 
    "uploads/"
    $target_path $target_path basename$_FILES['uploadedfile']['name']);  

    if(
    move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 
        echo 
    "Die Datei ".  basename$_FILES['uploadedfile']['name']).  
        
    " wurde erfolgreich hochgeladen!"
    } else{ 
        echo 
    "Es gab einen Fehler während der Übertragung der Datei, versuch es nochmal!"

    ?> 
    <span style="font-family:arial, sans-serif"> 
    <p><strong><a href="test">Hauptmenü</a></strong> 
    </span> 
    </body> 
    </html>
    Dieser hat ziemlich gut funktioniert, jedoch lässt sich der Dateiupload leicht manipulieren, da Dateien mit selben Namen ersetzt werden.


  • #2
    Tja schwierig dir zu helfen. Gibts ne Fehlermeldung? Warum wird nichts ausgegeben? Ist $_POST['upload'] überhaupt gesetzt?

    $dir/$dateiname ist im übrigen auch falsch. Der Slash muss schon als String da da rein. Ansonsten wird es als Division von PHP angesehen.

    Kommentar


    • #3
      Hast du denn wenigstens mal überprüft, ob es einen Eintrag unter dem Schlüssel 'upload' im Array $_POST gibt ...?

      Kommentar


      • #4
        PHP-Code:
        <html>
        <head>
        <title>
        <Upload...>
        </title>
        <body>
        <?php
        $dir 
        "uploads/";
        $originaledatei basename$_FILES['uploadedfile']['name']);

        if(isset(
        $_POST['uploadfile']))  

               
        // Zufälliger Dateiname: 
                  
        $word md5(time()); 

               
        // Ein paar Zeichen vom Zufälligen Dateinamen abziehen 
                  
        $word substr($word, -7);  
                  
               
        // Dateiformat erfassen 
                  
        $info   pathinfo($datei); 
                  
        $format $info["extension"]; 
                  
           
        // Der entgültige Dateiname 
              
        $dateiname    $originaledatei.' '.$word.'.'.$format;
              
              
        if(
        move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $dir.'/'.$dateiname)) { 
            echo 
        "Die Datei " .$originaledatei.  
            
        " wurde erfolgreich hochgeladen!"
        } else{ 
            echo 
        "Es gab einen Fehler während der Übertragung der Datei, versuch es nochmal!"
        } }

        ?>
        <span style="font-family:arial, sans-serif">
        <p>
        <strong><a href="uploader/Seite">Hauptmenü</a></strong>
        </span>
        </body>
        </html>
        So, jetzt habe ich aber das Verzeichnis richtig angegeben?!
        Es gibt eigentlich keine Fehlermeldung, jedoch wird die Datei nicht hochgeladen und das "echo" wird nicht angezeigt. Ich weiß nicht was du mit $_POST['upload] genau meinst, ich habe den Skript mir zusammengestellt und mal gesucht, wie man den Dateinamen zufällig ändert.

        Kommentar


        • #5
          Wird die Datei überhaupt hochgeladen? Vielleicht ist $_FILES gar nicht gefüllt!

          Ist natürlich schwer wenn du keine Ahnung von dem hast was du machen möchtest. Da können wir dir natürlich auch schlecht helfen.

          Kommentar


          • #6
            Ups, ich versuche es mal mit einem anderen Wert. Jetzt weiß ich, was du meinst . So, es war nicht upload, sondern uploadfile, trotzdem funktioniert es nicht. Mich wundert vor allem, warum überhaupt kein einziges echo wiedergegeben wird :S.

            Kommentar


            • #7
              Zitat von wtf22 Beitrag anzeigen
              Ich weiß nicht was du mit $_POST['upload] genau meinst
              Warum verwendest du es in deinem Script, wenn du nicht mal weißt, was es damit auf sich hat?

              Mal wieder ein Fall für: http://www.php.de/php-einsteiger/489...nsammlung.html

              Kommentar


              • #8
                Hm, ich habe mir etwas anderes überlegt:

                Ich verwende weiterhin diesen Skript:
                PHP-Code:
                <html>  
                <head>  
                <title>  
                <Upload...>  
                </title>  
                <body>  
                <?php  
                $target_path 
                "uploads/";  
                $target_path $target_path basename$_FILES['uploadedfile']['name']);   

                if(
                move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {  
                    echo 
                "Die Datei ".  basename$_FILES['uploadedfile']['name']).   
                    
                " wurde erfolgreich hochgeladen!";  
                } else{  
                    echo 
                "Es gab einen Fehler während der Übertragung der Datei, versuch es nochmal!";  
                }  
                ?>  
                <span style="font-family:arial, sans-serif">  
                <p><strong><a href="test">Hauptmenü</a></strong>  
                </span>  
                </body>  
                </html>
                Versuche jedoch anschließend den Dateinamen von $target_path zu ändern, mal schauen.

                Kommentar

                Lädt...
                X