Bei Upload Datei umbenennen

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

  • Bei Upload Datei umbenennen

    Ich habe da eine frage.
    Wenn ein Benutzer eine Datei auf Server uploaden möchte, aber es existiert schon eine Datei mit so einem Namen,
    wird die Datei überschrieben? Wenn ja, wie soll ich dann vorgehen, wie kann ich die Datei umbenennen?
    Oder wie soll ich von Anfang jeder hoch geladene Datei Eigennamen vergeben.
    Danke
    M.F.G

  • #2
    da du ja mit move_uploaded_file() arbeitest, solltest du vorher mir file_exists() prüfen, ob das ziel schon vorhanden ist. wo ist das problem?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      es gibt da diverse funktionen

      move_uploaded_file
      file_exists

      und das array $_FILES wo du nette infos bekommst zu deinem Upload...

      damit kannst du in kombination eben jenes Problem abhandeln und verhinden

      gruss

      Kommentar


      • #4
        Ich danke euch für ihre Antworte, aber
        Das habe ich gelesen. Upload und Prüfung laufen. Das Problem ist:
        Ein Benutzer will ein Foto namens ICH.JPG hoch laden, aber Datei namens ICH.JPG von anderen Benutzer existiert schon.
        OK er umbenennt seine Datei als SEIN_NAME.JPG, aber Datei ist auch vorhanden.
        Und am ende schmeißst er alles und kommt nie wider
        M.F.G

        Kommentar


        • #5
          Original geschrieben von vitalinka
          [...], aber Datei ist auch vorhanden. [...]
          dann prüfe halt so lange, bis ein dateiname gefunden wird, der noch nciht vorhanden ist.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            OK er umbenennt seine Datei als SEIN_NAME.JPG, aber Datei ist auch vorhanden.
            natürlich sollte das umbennen durch das script geschehen
            PHP-Code:
            $des_file="ich.jpg";
            $i1 0;
            $des_file_halt="ich.jpg";
            while (
            file_exists($des_file_halt)) 
              
            $des_file_halt $i1++.$des_file
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              Vielen Dank.
              Ich werde das sofort ausprobiren.
              Und ich habe noch eine Lösung (es ist nicht so origenal) gefunden.

              PHP-Code:
              <?php
              if(isset($_FILES["datei"]["name"])){
              $file $_FILES["datei"]["name"];
                  if(
              file_exists("fotos/".$file)){
                  echo
              'Datei existiert bereits. Umbenennen Sie die Datei z.B <b>'.date("mYHi"),$_FILES["datei"]["name"].'</b>';
                  }
                  else{ 
              move_uploaded_file($_FILES["datei"]["tmp_name"], "fotos/".$file);
                  echo
              '<img src="fotos/'.$file.'">';
                  }
              }
              else{
              echo
              '
              <form action="upload.php" method="post" enctype="multipart/form-data">
              <input type="File" name="datei">
              <input type="Submit">
              </form>'
              ;
              }
              ?>
              Ausgabe: Datei existiert Umbenennen Sie die Datei z.B. 0120041526ich.jpg


              EDIT:
              [php]-tags by Abraxax
              Zuletzt geändert von Abraxax; 15.01.2004, 16:47.

              Kommentar


              • #8
                Ende

                Und um das Tema zu beenden poste ich mein endscript.
                Vielen Dank allen Beteiligten.

                PHP-Code:
                <?php
                if(isset($_FILES["datei"]["name"])){
                $file $_FILES["datei"]["name"];
                    if(
                file_exists("fotos/".$file)){
                    
                $i date("mYHi");
                    
                move_uploaded_file($_FILES["datei"]["tmp_name"], "fotos/".$i.$file);
                    echo
                '<img src="fotos/'.$file.'">';
                    }
                }
                else{
                echo
                '
                <form action="upload.php" method="post" enctype="multipart/form-data">
                <input type="File" name="datei">
                <input type="Submit">
                </form>'
                ;
                }
                ?>
                M.F.G


                EDIT:
                [php]-tags by Abraxax
                Zuletzt geändert von Abraxax; 15.01.2004, 16:47.

                Kommentar


                • #9
                  Vielen Dank für Deinen Post, bin gerade darauf gekommen, das bei mir -
                  Dein Problem auch auftreten kann.

                  Werde das ändern, verwende den Bild/Dateinamen mit der UNIQUE ID des Tables.

                  Weiter so

                  Kieferarzt

                  Kommentar


                  • #10
                    OffTopic:
                    @vitalinka
                    gewöhne dir mal die php-tags und nicht so lange zeilen an.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      oder auch
                      PHP-Code:
                      $dateiname time()."_".md5(uniqid(rand())).".jpg"
                      sicher ist sicher.
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar

                      Lädt...
                      X