problem mit globals

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

  • problem mit globals

    hallo zusammen.

    ich bastel mir gerade ein script womit ich bilder uploaden, und mir informationen über die datei anzeigen lassen kann. soweit so gut.

    nun hab ich mir unter anderem eine function geschrieben die mir die dateigrösse ausgeben sollte.

    PHP-Code:
    function getfilesize($filename) {
     global 
    $_FILES;
     return 
    $_FILES["$filename"]['size'];

    nur leider funktioniert das nicht. es wird mir rein gar nichts zurück gegeben. nicht mal eine fehlermeldung. woran könnte das den liegen???

    ich benutze php 4.3.0. vielen dank für eure hilfe

    gruss subhead

  • #2
    GLOBAL $_FILES kann ins Auge gehen ... weil $_FILES eine Superglobal ist.
    Laß die Zeile erstmal weg ... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      ausserdem sieht mit das $filename nciht so schön aus.

      wenn das $filename den wirklichen filename meint, ist das nicht richtig. wenn müsste dort der name den <input type="file" name="diesernamemussdahin"> stehen.

      kann aber sein, dass du den der fkt korrket mitgibst. aber das denke ich im moment nicht, wenn du die var $filename nennst....
      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


      • #4
        Genau ... außerdem würde ich mir den Unsinn mit Variablen-Namen in Anführungszeichen ($_FILES["$filename"]) mal gleich abgewöhnen ... ich weiß nicht welcher Hirnverbrannte Depp das eingeführt hat ... $_FILES[$filename] ... reicht vollkommen!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          ok erstmal danke für eure schnelle hilfe!

          Original geschrieben von Abraxax
          wenn das $filename den wirklichen filename meint, ist das nicht richtig. wenn müsste dort der name den <input type="file" name="diesernamemussdahin"> stehen.
          also ich denke doch schon das $filename richtig ist. es wird mir von dieser eingabemaske übergeben.

          PHP-Code:
          <form method="post" action="image_mod.php" enctype="multipart/form-data">
          <
          input type="Hidden" name="MAX_FILE_SIZE" value="500000">
          <
          input type="file" name="filename"><br><br><br>
          <
          input type="submit" value="File Info" name="step">
          <
          input type="submit" value="Upload Image" name="step">
          <
          input type="submit" value="Resize" name="step">
          </
          form


          Original geschrieben von goth
          GLOBAL $_FILES kann ins Auge gehen ... weil $_FILES eine Superglobal ist.
          Laß die Zeile erstmal weg ... !
          ok ich habe diese zeile mal raus geworfen. leider wird mir immer noch nichts zurück gegeben!


          auch wenn ich die anführungszeichen bei
          PHP-Code:
          $_FILES["$filename"
          weglasse hilft das leider nicht!

          gruss subhead

          Kommentar


          • #6
            In dem Falle solltest Du einfach mal das Dollar-Zeichen weglassen:

            $_FILES["filename"]

            weil das Eingabefeld halt filename heißt:

            <input type="file" name="filename">
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              ok. das mit dem namen ist jetzt ok.
              wie rufst du denn deine fkt auf?
              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


              • #8
                wie rufst du die funktion denn auf?
                wenn in $filename filename steht is gut, wenn nicht: nich gut.

                mach mal zu Testzwecken das hier in deiner Funktion (lass mal das $ bei $filename weg)
                PHP-Code:
                echo $_FILES['filename']['size'];
                echo 
                'Komplettes Array<hr /><br />';
                print_r($_FILES); 
                EDIT:
                @Abraxax, @goth
                Ihr seid so gemein!

                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  @happy
                  wie sind nicht gemein. wir helfen ...
                  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


                  • #10
                    sicher doch, aber trotzdem gemein zu mir, ich armer mensch wollt doch auch mal erster sein <schnief /><schluchz /><flenn /> :'(
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      @ mrhappiness:

                      DANKE! ich habe nun einfach mal das
                      PHP-Code:
                       return $_FILES[$filename]['size']; 
                      mit
                      PHP-Code:
                       echo $_FILES[$filename]['size']; 
                      ersetzt. nun gibt er mir die dateigrösse richtig aus!

                      wieso geht den das mit return nicht? ich habe auch schon eine funktion gesehen die so aussah:
                      PHP-Code:
                          function getfilesize($filename) {
                              global 
                      $_FILES;
                              return 
                      $_FILES["$userfile"]['size'];
                          } 
                      da hat das einwandfrein funktioniert. kann mir das vielleicht jemand erklären?

                      nochmals danke an alle für die schnelle hilfe!

                      gruss subhead

                      Kommentar


                      • #12
                        Original geschrieben von subhead
                        @ mrhappiness:

                        DANKE!
                        OffTopic:
                        @Abraxax



                        was deine frage(n) angeht:

                        wie rufst du die funktion auf?
                        wo speicherst du denn rückgabewert der funktion, bzw. wo gibst du ihn aus?

                        btw: den teil mit $userfile versteh ich nich, das sind mir zuviel variablen,die ich nich kenn
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          OffTopic:
                          @happy
                          auch ein blindes huhn .....
                          ist schon recht. so konnten wir im trio helfen ....
                          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


                          • #14
                            ok also ich rufe die funktion in einer printanweisung auf.

                            PHP-Code:
                              print "Image Info:<br><br>Filename: ".getnewname($filename)."<br>Widht: ".getwidth($filename)." px<br>
                              Height: "
                            .getheight($filename)." px<br>Format: ".getformat($filename)."<br>Size: ".getfilesize($filename)."<br>"
                            das wars eigentlich.

                            das mit dem $userfile ist das gleiche wie bei mir $filename. also $userfile wird von einer htmlseite übergeben.

                            gruss subhead

                            Kommentar


                            • #15
                              Original geschrieben von subhead
                              PHP-Code:
                              echo $_FILES[$filename]['size']; 
                              hast du das wirklich in das geändert, oder hast du das geschrieben
                              PHP-Code:
                              echo $_FILES[filename]['size']; 
                              ?

                              wo wird denn vor dem print $filename ein wert zugewiesen?
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X