PHP: ohne track_vars und register_globals dateien uploaden



  • Hast du denn keine Möglichkeit track_vars auf on zu setzen? Das ist viel besser als register_globals und imho brauchst du eines von beiden 🙄



  • Klappt eventuell das hier:

    $foto = $_POST['datei'];
    echo "Filesize: " . $foto_size;
    

    Wenn register_globals on ist, dann hab ich nämlich schonmal gesehen, dass man mit _size anhängen die Größe ermitteln kann.

    MfGr,
    mid



  • Wenn track_vars auf off ist gibt es aber kein $_POST, $_GET, $_FILES, ... :p



  • Original erstellt von flenders:
    Wenn track_vars auf off ist gibt es aber kein $_POST, $_GET, $_FILES, ... :p

    Sorry, hab ich nicht aufgepasst. 😮

    Aber wer macht denn solche Configs????

    [ Dieser Beitrag wurde am 23.03.2003 um 20:59 Uhr von Midnighter editiert. ]



  • klar, $_POST, $_GET, $_FILES etc sind nicht vorhanden.
    und die globalen $filename $filename_size etc. gibt es auch nicht, weil ja register_globals weg ist.
    (seltsamer weise?) sind alle $_GET variablen auch als globale variablen regeristriert - also bei site.php?var=value hab ich eine globale $var mit dem wert "value"

    PS: solche configs werden anscheinend von anbietern von 50MB (erweiterbar) Speicher, PHP 4.0.6 + MySQL (Version weiß ich grad nicht) gemacht, die ihre dienstleistungen gratis anbieten, mit "nur" einem im hintergrund-popup

    [ Dieser Beitrag wurde am 23.03.2003 um 21:12 Uhr von Noesis editiert. ]



  • und du bist dir sicher dass register_globals auf off ist 😕 🙄



  • das ist ja das seltsame!
    und notfalls kann ich ja mit echo $register_globals das auch ausgeben lassen, nicht?
    aber $dateinameausdemformular geht nicht!

    irgendwie komm ich mir in letzter zeit ziemlich ver*****t vor, dauernd nur mehr unlösbare Probleme?!



  • Warte auf Henno! Der hilft dir schon!!! 🙂



  • Das mit echo $register_globals; funktioniert nur, wenn gu vorher $register_globals = ini_get('register_gobals'); geschrieben hast!

    Bei deinem Beispiel solltest du, sofern register_globals auf on ist, folgende Variablen haben:

    $datei // Der Name der Datei im temporären Verzeichnis
    $$datei_name // Der Name der Orginaldatei
    $datei_size // Die tatsächliche Größe der Datei
    $datei_type // Der Dateityp im MIME-Format
    

    Falls du PHP > 4.1.0 hast solltest du es aber mit $_FILES['datei'][...] machen! (Näheres dazu hier) 🙂



  • Hi!
    Darf man erfahrung, warum du denn alles deaktiviert hast ?

    Bye



  • Original erstellt von Noesis:
    PS: solche configs werden anscheinend von anbietern von 50MB (erweiterbar) Speicher, PHP 4.0.6 + MySQL (Version weiß ich grad nicht) gemacht, die ihre dienstleistungen gratis anbieten, mit "nur" einem im hintergrund-popup

    Er hat halt offenbar (kann ich mir zwar kaum vorstellen) einen Free-Hoster, der das so eingestellt hat 😉 😞



  • hm, das ist ungünstig 😃



  • Schonmal mit den alten HTTP_POST_VARS/HTTP_GET_VARS und HTTP_SERVER_VARS versucht?



  • mit HTTP_POST_FILES
    irgendwo hab ich was über HTTP_RAW_POST_DATA gelesen? was ist das?
    und ein zitat:

    It should be noted that there is a control for file uploads in PHP.INI which must be on for any of this to work. In fact, my experience is that if file uplods are turned off in php.ini, NONE of the fields in a multipart/form-data form will be passed to PHP. This will be truw whether or not a file is being uploaded.

    [edit]Zitate bitte nicht in Code Tags, sondern Quote Tags packen!

    [ Dieser Beitrag wurde am 24.03.2003 um 18:01 Uhr von Loggy editiert. ]



  • Gehen denn die HTTP_POST_VARS bzw. HTTP_GET_VARS?



  • Ich kann das im Moment nicht überprüfen. Wieso fragst du?
    (btw sorry - hab anscheinend code und quote verwechselt 🙄 )

    [ Dieser Beitrag wurde am 24.03.2003 um 19:30 Uhr von Noesis editiert. ]



  • HI,

    mag jetzt blöd klingen, aber was für ne Ausgabe wirft Dir denn

    phpinfo();

    hin???
    Ist register_globals nu off oder nicht?

    MfGr,
    mid



  • ist eine schöne ausgabe:

    Fatal error: Call to undefined function: phpinfo() in bla on line x

    Achja, register global scheint doch an zu sein 🙄 hab nicht gewusst, dass man es mit ini_get holen muss 🙄 🙂

    ok, nochmal der quelltext der seite

    <html>
    <head></head>
    <body>
    <?php
        $register_globals = ini_get('register_globals');
    
        echo "Reg-Glob.: $register_globals<br>"; //blubb: Ausgabe: 1
        echo "Output 1: " . $HTTP_POST_FILES['userfile']['name'] . "<br>"; //ausgabe:
        echo "Output 2: " . $_FILES['userfile']['name'] . "<br>"; //ausgabe:
        echo "Output 3: " . $userfile . "<br>"; //ausgabe:
        echo phpinfo(); //ausgabe s.o.
    ?>
    </body>
    </html>
    

    ich bin definitiv zu doof 🙄



  • userfile gibt es ja natürlich auch nur, wenn du ein Formular mit einem entsprechend benannten file-upload-Feld hast 😉
    und vor dem phpinfo(); muss das echo weg 🙂



  • Original erstellt von flenders:
    userfile gibt es ja natürlich auch nur, wenn du ein Formular mit einem entsprechend benannten file-upload-Feld hast

    hab ich auch, aber nicht in derselben Datei, mit action="bla" kann ich das ja umleiten.
    achja, phpinfo ist auch ohne echo not defined

    <html>
    <head></head>
    <body>
    <?php
        $register_globals = ini_get('register_globals');
        echo "Reg-Glob.: $register_globals<br>";
        echo "File: " . $userfile . "<br>";
        phpinfo();
    ?>
    </body>
    </html>
    

    Ausgabe

    Reg-Glob.: 1
    File:
    Fatal error: Call to undefined function: phpinfo() in bla on line 8

    [ Dieser Beitrag wurde am 25.03.2003 um 19:37 Uhr von Noesis editiert. ]


Anmelden zum Antworten