Dateinamen erstellen

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

  • Dateinamen erstellen

    Hallo,

    meine Kenntnisse in PHP sind nicht besonders groß und ich hoffe von euch etwas Hilfe zu bekommen.

    Ich bin schon recht stolz auf mein upload-formular. Nun versuche ich das die Dateinamen zu beeinflussen. Wenn also eine Datei hoch geladen wird, soll sein Name als Dateiname verwendet werden.

    Hier wird ja der name der Datei erstellt:
    PHP-Code:
            $tmp $_FILES['MyFile']['tmp_name'];
            
    $target "upload/{$_FILES['MyFile']['name']}";
            
    $error GetFileError($_FILES['MyFile']['error']); 
    Meine Frage ist nun, wie könnte ich es hin bekommen den Namen zu verändern. Alle Versuche sind gescheitert.

    Gruß

  • #2
    wie könnte ich es hin bekommen den Namen zu verändern
    wenn du uns sagst, wie du ihn verändern möchtest. schau dir auf jeden fall mal rename an.

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hallo,

      es soll ein Feld geben wo man seinen Nachnamen eintragen kann. Dieser Nachname soll dann auch der Dateiname sein.

      Genau da komm ich einfach nicht weiter.

      Kommentar


      • #4
        dann nimm rename. du hast den dateinamen, du hast den nachnamen, wo ist das proiblem? ggf. kannst du das auch schon bei move_uploaded_file einsetzen (wenn das in deinem code schon vorhanden ist). schau dir ggf. mal das hier an.

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Danke für den Link! Das Problem ist halt einfach, dass ich keine Ahnung habe wie das ich mein script einbinden könnte.

          Ich poste mal mein komplettes upload script:

          PHP-Code:
          $action $_SERVER['PHP_SELF'];
          if (
          $_SERVER['REQUEST_METHOD'] == 'POST')
          {
              if (
          is_array($_FILES))
              {
                  
          $tmp $_FILES['MyFile']['tmp_name'];
                  
          $target "upload/{$_FILES['MyFile']['name']}";
                  
          $error GetFileError($_FILES['MyFile']['error']);
                  if (
          $path_parts["extension"] == jpg)
                  {
                  
                  if (
          move_uploaded_file($tmp$target))
                  {
                  echo 
          "Datei übertragen<br><br><br><br><br>";
                  }
                  else 
                  {
                      echo 
          "Keine Datei übertragen<br>$error<br><br><br><br>";
                  }
                  
                  
                  
                  }
                  else 
                  {
                      echo 
          "Falsches Format<br><br><br><br>";
                  } 

          Kommentar


          • #6
            Lesen:

            http://de3.php.net/manual/pl/features.file-upload.php und
            http://de3.php.net/manual/pl/functio...oaded-file.php

            Kommentar


            • #7
              PHP-Code:
              if ($path_parts["extension"] == jpg
              das sieht mir nicht ganz koscher aus. klappt der upload überhaupt inkl. verschieben in den entsprechenden ordner?

              gruß
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Ja soweit klappt alles. Es sollen nur jpg Dateien zugelassen werden. Naja wenn ich in ca 100 Jahren diese rename funktion auf die kette bekomme. Ist wohl doch nicht so einfach, jedenfalls für einen wie mich.

                Kommentar


                • #9
                  wo ist das problem?
                  PHP-Code:
                  $alt'upload/'.$_FILES['MyFile']['name'];
                  $neu 'upload/'.$_POST['nachname'].'.jpg';
                  $name rename ($alt$neu);
                  if (
                  $name)
                  {
                    echo 
                  'umbenannt'

                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    Hallo,

                    ich habe das script es wie folgt geändert:
                    PHP-Code:
                    $tmp $_FILES['MyFile']['tmp_name'];
                            
                    $target'upload/'.$_FILES['MyFile']['name'];
                            
                    $neu 'upload/'.$_POST['nachname'].'.jpg';
                            
                    $name rename ($target$neu);
                            
                            
                    $error GetFileError($_FILES['MyFile']['error']);
                            if (
                    $path_parts["extension"] == jpg)
                            {
                            
                            if (
                    move_uploaded_file($tmp$name))
                    ... 
                    nun wird keine Datei mehr hoch geladen. Müsste das nicht funktionieren?

                    Kommentar


                    • #11
                      erst move_uploaded_file, dann rename.

                      gruß
                      peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        Verwende für move_uploaded_file direkt den Zielnamen, dann sparst du dir das umbenennen.
                        Ob deine Datei ein Bild ist, stellst du mit getimagesize fest!

                        Kommentar


                        • #13
                          statt
                          PHP-Code:
                          $target'upload/'.$_FILES['MyFile']['name']; 
                          nimmst du
                          PHP-Code:
                          $target 'upload/' $_POST['name']; 
                          und alles ist gelaufen (wie schon von PHP-Desaster geschrieben)
                          Vorausgesetzt natürlich, dass im Formular ein Input-Feld namens name existiert und ausgefüllt wurde.
                          Und der Filetyp kommt ja in $_FILES['MyFile']['type'] auch gleich mit
                          Gruss
                          H2O

                          Kommentar


                          • #14
                            Original geschrieben von sh0704
                            Hallo,

                            es soll ein Feld geben wo man seinen Nachnamen eintragen kann. Dieser Nachname soll dann auch der Dateiname sein.

                            Genau da komm ich einfach nicht weiter.
                            heißt das, dass bernd schmidt aus lüneburg dann das bild von hans-jürgen schmidt aus glücksstadt überschreibt, der vorher das bild von maria schmidt aus oldenburg in oldenburg überschrieben hat??
                            **********
                            arkos
                            **********

                            Kommentar


                            • #15
                              Nein die Daten werden in einen eigenen Ordner gespeichert, der eine id hat. Jedem User wird eine eigene ID zugewiesen.

                              Kommentar

                              Lädt...
                              X