Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

file upload...

Empfohlene Antworten

Veröffentlicht

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

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?

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

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

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.