Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] .png-Upload

Einklappen

Neue Werbung 2019

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

  • [Erledigt] .png-Upload

    Hey.
    Habe mal zwei Verständnisfragen zu "$_FILES" und http://de.php.net/manual/de/function...oaded-file.php

    zuerst mal: kann man $_FILES umgehen? Weil wenn register_globals auf off ist (was ja standart ist), funktioniert das ganze ja nicht mehr?! Gibt es nch andere Variablen auf die ich zugreifen kann?? $_POST funktionierte eben nicht!

    zweitens:
    habe ein ganz normales forumlar, dass eine png datei hochladen soll. tut es auch, nur die o.a. funktion "is_uploaded_file()"will nicht, das echo wird nicht ausgegeben...!

    wie mal der code:
    PHP-Code:
    <?php
            
    //Hole Variablen
            
    $user_id $_POST[user_id];
            
    $delete $_POST[delete];
            
            
    //Lösche altes Avatar
            
    if ($delete == "1") {
                echo 
    "löschen .... löschen funktion der datei kommt noch";
                } else {
                
    //Lade Avatar Hoch
                //Wenn .png-Format
                
    if (exif_imagetype($_FILES['avatar']['tmp_name']) == IMAGETYPE_PNG) {
                    
    //Wenn nich Größer als 100 KiB
                    
    if ($_FILES['avatar']['size'] <  102400) {
                          
    move_uploaded_file($_FILES['avatar']['tmp_name'], $avatar_dir.$user_id.".png");
                          if (
    is_uploaded_file($_FILES['avatar']['tmp_name'])) {
                              echo 
    "hochgeladen";    
                          }
                        } else {
                             echo 
    "Das Bild darf nicht größer als 100 kb sein ";
                    }
                    } else {
                        echo 
    "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
                }
            }
    ?>

  • #2
    Weil wenn register_globals auf off ist (was ja standart ist), funktioniert das ganze ja nicht mehr?!
    Wie kommst du darauf?
    nur die o.a. funktion "is_uploaded_file()"will nicht, das echo wird nicht ausgegeben...!
    Möglicherweise funkt move_uploaded_file dazwischen. Führe is_uploaded_file mal vor move_uploaded_file aus.
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #3
      Zitat von Asipak Beitrag anzeigen
      Wie kommst du darauf?
      hier: http://de.php.net/manual/de/features...ost-method.php

      Zitiere:
      Die für hochgeladene Dateien definierten Variablen sind je nach PHP Version und Konfiguration verschieden. Die Autoglobale $_FILES existiert seit PHP 4.1.0 und das Array $HTTP_POST_FILES seit PHP 4.0.0. Diese Arrays enthalten alle Informationen über Ihre hochgeladenen Dateien. Die Verwendung von $_FILES wird bevorzugt. Ist die PHP Anweisung register_globals auf on, stehen auch entsprechende Variablennamen zur Verfügung. Seit PHP » 4.2.0 steht register_globals standardmäßig auf off.

      Kommentar


      • #4
        Das hast du falsch verstanden.
        [...]Ist die PHP Anweisung register_globals auf on, stehen auch entsprechende Variablennamen zur Verfügung. Seit PHP » 4.2.0 steht register_globals standardmäßig auf off.
        Bei register_globals = on kannst du

        Code:
        // "stehen auch entsprechende Variablennamen zur Verfügung"
        echo $avatar['tmp_name'];
        // oder
        echo $_FILES['avatar']['tmp_name'];
        verwenden, mit register_globals = off ist nur noch
        Code:
        echo $_FILES['avatar']['tmp_name'];
        möglich.
        [URL]http://hallophp.de[/URL]

        Kommentar


        • #5
          Zitat von Asipak Beitrag anzeigen
          Möglicherweise funkt move_uploaded_file dazwischen. Führe is_uploaded_file mal vor move_uploaded_file aus.
          Ja! scheint als ob die temporäre Datei in diesem Fall bereits wieder gelöscht war und es deswegen nicht klappte! Jetzt klappts!

          Kommentar


          • #6
            Zitat von Asipak Beitrag anzeigen
            Das hast du falsch verstanden.
            Bei register_globals = on kannst du

            Code:
            // "stehen auch entsprechende Variablennamen zur Verfügung"
            echo $avatar['tmp_name'];
            // oder
            echo $_FILES['avatar']['tmp_name'];
            verwenden, mit register_globals = off ist nur noch
            Code:
            echo $_FILES['avatar']['tmp_name'];
            möglich.
            Okay. Damit ist die für mich wichtige frage geklärt, ob es immer funktioniert VIELEN DANK!!!

            Kommentar

            Lädt...
            X