Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] upload script Problem

Einklappen

Neue Werbung 2019

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

  • #16
    Bin zu blöd dafür, bekomme das nie hin ;(

    Kommentar


    • #17
      Zitat von Humpy Beitrag anzeigen
      Bin zu blöd dafür, bekomme das nie hin ;(
      Das stimmt nicht. Wenn dir hier jemand Code hinknallt und sagt: "Schau mal, so geht's", dann bekommst du es nie hin. Wenn du es selbst versuchst, dann bekommst du es irgendwann hin. Is wie Kupplung kommen lassen. Am Anfang sucht man stundenlang den Schleifpunkt aber später kann man sogar am Berg anfahren.
      Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

      Kommentar


      • #18
        PHP-Code:
        <?php


        $max_byte_size 
        10000;
        $allowed_types "(sft)";

        if(
        $_POST["submit"] == "Upload") {

        if(
        is_uploaded_file($_FILES["file"]["tmp_name"])) {

        if(
        preg_match("/\." $allowed_types "$/i"$_FILES["file"]["name"])) {

        if(
        $_FILES["file"]["size"] <= $max_byte_size) {



                
        $filename $_FILES['file']['name'];
                
        $extension end(explode("."$filename)); // extension ist die Dateiendung.
                
        $filename substr($filename0strlen($filename) - strlen($extension) - 1);
                
                
        $temp $_FILES['datei']['tmp_name'];
                
                for (
        $i 1file_exists("upload-ordner/$filename.$extension"); $i++) {
                    
        $filename $filename ' (' $i ')';
                    }



        if(
        move_uploaded_file($_FILES["file"]["tmp_name"], $filename)) {

        echo 
        "Datei erfolgreich hochgeladen!<br>";
        echo 
        "Name: " $_FILES["file"]["name"] . "<br>";
        echo 
        "Größe: " $_FILES["file"]["size"] . " Byte<br>";
        echo 
        "Link: <a href=\"" $_FILES["file"]["name"] . "\">" $_FILES["file"]["name"] . "</a>";

        }
        else {

        echo 
        "Datei konnte nicht hochgeladen werden.";

        }

        }
        else {

        echo 
        "Die Datei darf nur eine Größe von " $max_byte_size " Byte besitzen.";

        }

        }
        else {

        echo 
        "Die Datei besitzt keine ungültige Endung.";

        }

        }
        else {

        echo 
        "Keine Datei zum Hochladen angegeben.";

        }

        }
        else {

        echo 
        "Bitte benutze das Upload Formular.";

        }

        ?>
        So ist es doch richtig, oder?
        Auf jeden Fall bekomme ich keine Fehlermeldung aber der ersetzt dann halt die Datei und macht keinen neuen Namen.
        hmmm.......

        Kommentar


        • #19
          wenn er sie ersetzt, dann hast du eine Datei "getroffen" - wenn du dann nicht überschreiben willst, musst du den Namen noch etwas ändern - vielleicht eine "_1" anhängen oder so ...
          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

          Kommentar


          • #20
            Zitat von eagle275 Beitrag anzeigen
            wenn er sie ersetzt, dann hast du eine Datei "getroffen" - wenn du dann nicht überschreiben willst, musst du den Namen noch etwas ändern - vielleicht eine "_1" anhängen oder so ...
            In dem script steht ja
            PHP-Code:
            /* Schreibst dein Upload Script.
            Nach dem Uploaden schaust du mit dieser for-Schleife, ob die Datei ($filename) schon existiert. Wenn ja, mache aus "dateiname.jpg" dann "dateiname (1).jpg".
            Wenn das aber auch schon existiert, dann "dateiname (2).jpg". */ 

            Kommentar


            • #21
              sorry - hab erst jetzt den Code "da oben" genauer gelesen..

              die mittlere Code-Sektion muss bei dir so aussehen

              PHP-Code:
                     $temp $_FILES['datei']['tmp_name'];
                      
                      for (
              $i 1file_exists("upload-ordner/$filename.$extension"); $i++) {
                          
              $filename $filename ' (' $i ')';
                          }



              if(
              move_uploaded_file($_FILES["file"]["tmp_name"],"upload-ordner/".$filename.".".$extension )) { 
              du musst die Datei nach dem Upload auch in den richtigen Ordner verschieben
              "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

              Kommentar


              • #22
                Danke, jetzt funkt es.
                Aber noch eine Frage jetzt muss ich doch hier noch was dran hängen damit der mir die richtige datei gibt oder?
                PHP-Code:
                echo "Link: <a href=\"uploads/" $_FILES["file"]["name"] . "\">" $_FILES["file"]["name"] . "</a>";?> 

                Kommentar


                • #23
                  nöö .. das passt so .. nur der verlinkte Name muss natürlich auf deine geänderte Datei zeigen

                  <a href="Linkziel">Beschriftung</a>

                  du kannst es dir aber erleichtern, wenn du

                  HTML-Ausgabe immer mit Apostroph machst

                  PHP-Code:
                  echo 'Link: <a href="uploads/'.$filename.'.'.$extension.'" >'.$_FILES["file"]["name"].'</a>'
                  "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                  Kommentar


                  • #24
                    Danke Danke jetzt geht alles

                    edit: Da fällt mir grad ein wie kann ich das machen das ich den ganzen link habe also www.domain.de/uploads/Datei.png
                    statt das da nur steht Datei.png
                    Danke schon mal.

                    edit: Habs selber herausgefunden

                    Kommentar


                    • #25
                      So Leute hab 2 Probleme.
                      1. Wenn ich eine Datei mit Punkten z.B. Bla.bla.bla.png Uppe kann ich die nacher nicht mehr downlaoden.

                      2. Wenn ich was geuppt habe und bei der Seite bin wo mir der Link gezeigt wird und ich F5 drücke wird die Datei nochmal geuppt also Datei (1) etc. wie kann ich das Problem lösen??

                      Danke schon mal.
                      mfg
                      Humpy

                      Kommentar


                      • #26
                        die Beschriftung des Links steht zwschen Link und schließenden <a-Tag <a href >Beschriftung</a> und grundsätzlich kannst du dorthin fast alles schreiben, sogar Bilder mit einbinden ...

                        wenn du dort also auch den kompletten Pfad haben willst ..

                        PHP-Code:
                        echo 'Link: <a href="uploads/'.$filename.'.'.$extension.'" >uploads/'.$filename.'.'.$extension.'</a>'
                        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                        Kommentar


                        • #27
                          Zitat von Humpy Beitrag anzeigen
                          1. Wenn ich eine Datei mit Punkten z.B. Bla.bla.bla.png Uppe kann ich die nacher nicht mehr downlaoden.
                          Bitte beschreibe das Problem nachvollziehbar.

                          Aktuellen Code zeigen, und vor allem erklären, was „kann nicht mehr downloaden“ eigentlich konkret bedeuten soll.

                          2. Wenn ich was geuppt habe und bei der Seite bin wo mir der Link gezeigt wird und ich F5 drücke wird die Datei nochmal geuppt also Datei (1) etc. wie kann ich das Problem lösen??
                          Suchen - „Formular doppelt absenden verhindern“, „Refresh doppelten Eintrag verhindern“, o.ä.
                          [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                          Kommentar


                          • #28
                            Zitat von ChrisB Beitrag anzeigen
                            Bitte beschreibe das Problem nachvollziehbar.

                            Aktuellen Code zeigen, und vor allem erklären, was „kann nicht mehr downloaden“ eigentlich konkret bedeuten soll.
                            [...]
                            PHP-Code:
                             <?php


                            $max_byte_size 
                            10000;
                            $allowed_types "(sft)";

                            if(
                            $_POST["submit"] == "Upload") {

                            if(
                            is_uploaded_file($_FILES["file"]["tmp_name"])) {

                            if(
                            preg_match("/\." $allowed_types "$/i"$_FILES["file"]["name"])) {

                            if(
                            $_FILES["file"]["size"] <= $max_byte_size) {



                                    
                            $filename $_FILES['file']['name'];
                                    
                            $extension end(explode("."$filename)); // extension ist die Dateiendung.
                                    
                            $filename substr($filename0strlen($filename) - strlen($extension) - 1);
                                    
                                    
                            $temp $_FILES['datei']['tmp_name'];
                                    
                                    for (
                            $i 1file_exists("uploads/$filename.$extension"); $i++) {
                                        
                            $filename $filename ' (' $i ')';
                                        }



                            if(
                            move_uploaded_file($_FILES["file"]["tmp_name"],"uploads/".$filename.".".$extension )) {  

                            echo 
                            "Datei erfolgreich hochgeladen!<br>";
                            echo 
                            "Name: " $_FILES["file"]["name"] . "<br>";
                            echo 
                            "Größe: " $_FILES["file"]["size"] . " Byte<br>";
                            echo 
                            'Link: <a href="uploads/'.$filename.'.'.$extension.'" >uploads/'.$filename.'.'.$extension.'</a>';  
                            }
                            else {

                            echo 
                            "Datei konnte nicht hochgeladen werden.";

                            }

                            }
                            else {

                            echo 
                            "Die Datei darf nur eine Größe von " $max_byte_size " Byte besitzen.";

                            }

                            }
                            else {

                            echo 
                            "Die Datei besitzt keine ungültige Endung.";

                            }

                            }
                            else {

                            echo 
                            "Keine Datei zum Hochladen angegeben.";

                            }

                            }
                            else {

                            echo 
                            "Bitte benutze das Upload Formular.";

                            }
                            Wenn ich halt den Link aufrufen ist da nur eine Weiße Seite und es passiert nix.

                            Kommentar


                            • #29
                              Reload-Probleme kann dir wer anders bestimmt gut helfen

                              bei den punkten...

                              bevor du die Vergleiche mit preg_match machst, müsstest du alle Punkte bis auf den letzten irgendwie konvertieren .. bsp so
                              PHP-Code:
                              if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
                                 
                              $fname $_FILES['file']['name'];
                                 
                              $pos=strrpos($fname,".");    //der letzte Punkt 
                                 
                              $fname=str_replace($fname,".","_");  // alle Punkte durch underscore ersetzen
                                 
                              $fname=substr($fname,0,$pos).".".substr($fname,$pos+1); 
                                 
                              //letzten punkt wiehderherstellen
                                  
                              if(preg_match("/\." $allowed_types "$/i"$fname)) {

                                  if(
                              $_FILES["file"]["size"] <= $max_byte_size) {
                                      
                              $extension end(explode("."$fname)); // extension ist die Dateiendung.
                                      
                              $fname substr($fname0strlen($fname) - strlen($extension) - 1);
                                      
                                      
                              $temp $_FILES['datei']['tmp_name'];
                                      
                                      for (
                              $i 1file_exists("upload-ordner/$fname.$extension"); $i++) {
                                          
                              $fname $fname ' (' $i ')';
                                          }



                              iif(move_uploaded_file($_FILES["file"]["tmp_name"],"upload-ordner/".$fname.".".$extension )) {
                              echo 
                              "Datei erfolgreich hochgeladen!<br>";
                              echo 
                              "Name: " $_FILES["file"]["name"] . "<br>";
                              echo 
                              "Größe: " $_FILES["file"]["size"] . " Byte<br>";
                              echo 
                              'Link: <a href="uploads/'.$fname.'.'.$extension.'" >uploads/'.$fname.'.'.$extension.'</a>';
                              }
                              else { 
                              "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

                              Kommentar


                              • #30
                                Mein code lautet jetzt so
                                PHP-Code:
                                // Wurde wirklich eine Datei hochgeladen?
                                if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
                                $fname $_FILES['file']['name'];
                                   
                                $pos=strrpos($filename,".");    //der letzte Punkt 
                                   
                                $filename=str_replace($filename,".","_");  // alle Punkte durch underscore ersetzen
                                   
                                $filename=substr($fname,0,$pos).".".substr($filename,$pos+1); 
                                   
                                //letzten punkt wiehderherstellen
                                    
                                if(preg_match("/\." $allowed_types "$/i"$fname)) {

                                    if(
                                $_FILES["file"]["size"] <= $max_byte_size) {
                                        
                                $extension end(explode("."$fname)); // extension ist die Dateiendung.
                                        
                                $fname substr($fname0strlen($fname) - strlen($extension) - 1); 

                                $filename $_FILES['file']['name'];
                                        
                                $extension end(explode("."$filename)); // extension ist die Dateiendung.
                                        
                                $filename substr($filename0strlen($filename) - strlen($extension) - 1);
                                  
                                $temp $_FILES['datei']['tmp_name'];
                                        
                                        for (
                                $i 1file_exists("uploads/$filename.$extension"); $i++) {
                                            
                                $filename $filename ' (' $i ')';
                                            }



                                if(
                                move_uploaded_file($_FILES["file"]["tmp_name"],"uploads/".$filename.".".$extension )) { 
                                Ist das so richtig?
                                Geht aber immer noch net ;(

                                Kommentar

                                Lädt...
                                X