Zum Inhalt springen

file upload...


Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...