String aus array lesen. (Dateiupload -> $_FILES)

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

  • String aus array lesen. (Dateiupload -> $_FILES)

    Problem:

    $_FILES->name gibt den Namen der hochgeladenen Datei nicht aus.
    Datei existiert. Anstelle des Namens wird "Array" ausgegeben.
    Ich habe bereits mit anderen Mitteln versucht an den Namen der Datei zu kommen. Bis jetzt ohne Erfolg. Vielen Dank fuer jede Hilfe.

    Hier die aktuelle Ausgabe von /test/$url:

    /test/upfile/ordner/Array

    PHP-Code:
    if(isset($confirm))
    {
            if (
    move_uploaded_file($_FILES['userpic']['tmp_name'], $uploaddir $_FILES['userpic']['name']))
            {
                    print 
    "File is valid, and was successfully uploaded.  Here's some more debugging info:\n";
                    
    $filename $_FILES['userpic']->name;
                    
    $url $uploaddir $filename;
                    print 
    "<br />";
                    print 
    "/test/$url";
                    
    print_r($_FILES);
    }

    Zuletzt geändert von digital matrix; 16.11.2006, 04:42.

  • #2
    Dann mach mal ein var_dump() von Files und schaue ob's ein mehrdimensionaler Array ist. Poste den Output von
    PHP-Code:
    var_dump($_FILES); 
    hier und wir werden sehen...

    Gruss

    tobi

    p.s. deine Links sind super. Du weisst aber schon dass dieser Link auf meine Kiste zeigt ? Und auf die Kisten jedes anderen Users der den Link klick. Auf alle nur nicht auf deinen Server...
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hier ist er:

      PHP-Code:
      array(1) {
        [
      "userpic"]=>
        array(
      5) {
          [
      "name"]=>
          
      string(8"2mj7.jpg"
          
      ["type"]=>
          
      string(10"image/jpeg"
          
      ["tmp_name"]=>
          
      string(26"C:\WINDOWS\TEMP\php370.tmp"
          
      ["error"]=>
          
      int(0)
          [
      "size"]=>
          
      int(138199)
        }

      Edit: Jupp, sorry. Hab den Link geaendert.
      Zuletzt geändert von digital matrix; 16.11.2006, 04:35.

      Kommentar


      • #4
        Also dann mach mal
        PHP-Code:
        echo $_FILES['userpic']['name']; 
        That's it. Es handelt sich um ein Array und so wie du es versucht hast anzusprechen wäre es ein Objekt. Ein paar Zeilen weiter oben (in deiner Bedinung hast du es ja richtig gemacht)

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Wenn ich $_FILES ganz normal behandle gibt mein Script immernoch Array aus:

          PHP-Code:
          print "File is valid, and was successfully uploaded.  Here's some more debugging info:\n";
                          
          $filename $_FILES['userpic']['name'];
                          
          $url $uploaddir $filename;
                          print 
          "<br />";
                          print 
          "/test/$url";
                          
          print_r($_FILES); 
          Ausgabe jetzt:

          /test/upfile/folder/2mj7.jpgArray

          Kommentar


          • #6
            Wie sieht denn ein var_dump($_FILES['upfile']['name']) aus ? Der Name 2mj7.jpg stimmt so ?

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Name stimmt (Gross und Kleinschreibung).

              Ich hab zwei vardumps gemacht, weil ich mir nicht sicher war welchen du meintest:

              Hier fuer var_dump($_FILES['upfile']['name']):

              NULL

              Und hier fuer var_dump($_FILES['userpic']['name'])

              string(8) "2mj7.jpg"

              Wenn ich den "Array" von der URL abschnippel und die URL manuell eingebe, bekomme ich das Bild auch zusehen.

              Kommentar


              • #8
                Sorry ich habe deinen Feldnamen vom Formular falsch geschrieben. Es ist natürlich der zweite Dump.
                Wie du siehst steht dort nichts von Array? Das Array muss also von wo anders kommen. Ist denn deine Var $filename identisch mit $_FILES['userpic']['name'] ?

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Don't ask me why, aber aufeinmal funktionierts? Ist das die Logik von PHP? Ich habe eigentlich nichts geaendert. Nur wollte ich mal eben versuchen Thumbnails zu erstellen. Ploetzlich will der garnichts mehr wissen von kurios angehaengten Array Dateinamen. Sorry fuer das. Wie gesagt, schon komisch.

                  Kommentar


                  • #10
                    Ich vermute, dass Array aus diesem Code kommt.
                    PHP-Code:
                    $url $uploaddir $filename;
                                    print 
                    "<br />";
                                    print 
                    "/test/$url";
                                    
                    print_r($_FILES); 
                    Vermutlich vom print_r($_FILES)

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar

                    Lädt...
                    X