TinTin Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 hi, ich hab folgenden code probiert um mit dem fileupload zu experimentieren: de.comp.lang.php FAQ <form action="<?php print $PHP_SELF ?>" method="post" enctype="multipart/form-data"> <input type="file" name="probe"> <input type="submit" value="Los!"> </form> <hr> <? if (isset($probe)) { // Bugfix für: http://www.securityfocus.com/archive/1/80106 if ( isset($HTTP_COOKIE_VARS["probe"]) || isset($HTTP_POST_VARS ["probe"]) || isset($HTTP_GET_VARS ["probe"]) ) die("Aus Sicherheitsgründen stirbt das Script jetzt."); copy($probe, "./newfile.txt"); printf("Die Datei %s steht jetzt als" ." newfile.txt zur Verfügung.<br>\n", $probe_name); printf("Sie ist %s Bytes groß und vom Typ %s.<br>\n", $probe_size, $probe_type); } ?> [/PHP] selbst dieser 1:1 kopierte code funktioniert seltsamerweise nicht. ich bekomme beim besten willen keinen wert für die variable '$probe' zurück. egal og die globals registriert sind oder nicht.(PHP Version 4.0.6 und easyPHP 1.5) ich hab auch schon eigene sachen gemacht, ich bekam alle vars die ich im formular habe zurück, ausgenommen die aus dem '<input type="file" name="probe"...>' tag. woran kann das liegen??? ciao TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gurkenpapst Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 Du lässt das Skript immer sterben: <input type="file" name="probe"> //<-- HIER DEKLARIERST DU $HTTP_POST_VARS["probe"]! <input type="submit" value="Los!"> </form> <hr> <? if (isset($probe)) { // Bugfix für: [url]http://www.securityfocus.com/archive/1/80106[/url] if ( isset($HTTP_COOKIE_VARS["probe"]) || isset($HTTP_POST_VARS__["probe"]) || //<-- UND HIER LÄSST DU DAS SKRIPT WEGEN DIESER VARIABLE ANHALTEN isset($HTTP_GET_VARS___["probe"]) ) die("Aus Sicherheitsgründen stirbt das Script jetzt."); [/PHP] Ich würde die IF-Bedingung rauslassen. dann sollte es funktionieren. Erscheint denn eine Fehlermeldung? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 26. Mai 2003 Autor Teilen Geschrieben 26. Mai 2003 also, an der 'if' bedingung liegts nicht, wenn ich 'register_lobals = On' habe, funktioniert das script. es muss aber doch auch ohne die globals gehen oder??? ich schau aber nochmal genauer nach... ciao TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gurkenpapst Geschrieben 27. Mai 2003 Teilen Geschrieben 27. Mai 2003 sorry, ich war auf dem falschen Dampfer. was denn nun? selbst dieser 1:1 kopierte code funktioniert seltsamerweise nicht. ich bekomme beim besten willen keinen wert für die variable '$probe' zurück. egal og die globals registriert sind oder nicht.(PHP Version 4.0.6 und easyPHP 1.5) funktioniert es oder nicht? Bekommst du eine Fehlermeldung, und wenn ja welche? Es ist logisch das du, wenn register_globals auf off gesetzt sind, du nicht auf die Variable $probe zugreifen kannst, sondern es dann so lauten muss: $_POST["probe"] oder $HTTP_POST_VARS["probe"] gruß gurkenpapst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crow T. Robot Geschrieben 27. Mai 2003 Teilen Geschrieben 27. Mai 2003 Hallo TinTin! Du scheinst eine uralte Kopie der dclp-FAQ zu nutzen. Schau dir das in der aktuellen Fassung noch einmal genau an: 11.11. Wie funktioniert ein Datei-Upload über HTML-Formulare? Die Informationen über die hochgeladenen Dateien bekommst du immer in dem (zweidimensionalen) Array $_FILES. Insbesondere wenn register_globals deaktiviert ist, musst du auf diesen zugreifen. Genau erklärt wird dies auch im PHP Manual: Chapter 18. Handling file uploads Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gurkenpapst Geschrieben 27. Mai 2003 Teilen Geschrieben 27. Mai 2003 Hab hier noch was rausgesucht: EDIT: Da war jemand schneller. gruß gurkenpapst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TinTin Geschrieben 27. Mai 2003 Autor Teilen Geschrieben 27. Mai 2003 Original geschrieben von Crow T. Robot Hallo TinTin! Du scheinst eine uralte Kopie der dclp-FAQ zu nutzen. Schau dir das in der aktuellen Fassung noch einmal genau an: das seh ich jetzt auch ein... danke für die tips, habs jetzt auch ohne die globas am laufen. mit der $_FILES gehts jetzt ganz gut... nochmal danke ciao TinTin Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.