"We are back" « oc.at

Problem mit Fileupload per POST

jives 13.10.2002 - 18:42 1181 15
Posts

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Ich hab mich schon durch das Manual (on- und offline) und ein PHP-Buch gewühlt, aber ich bekomm den Fileupload einfach nicht hin :(

Mein Form tag schaut so aus:
<form action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="300000">
<input type="file" name="file" size="50">
<input type="submit" value="Submit">
<input type="hidden" name="sub" value="1">
</form>

Und das Script so (alles voller debugzeugs ;)):
if ($sub == 1) {

echo $HTTP_POST_VARS['file']['name'];
echo "<br>";
echo $HTTP_POST_VARS['file']['tmp_name'];
echo "<p>";
echo "TEMP-FILE: $file<br>";
echo "ORIG-FILE: $file_name<br>";
echo "SIZE: $file_size<p>";

$dest = dirname($PATH_TRANSLATED);
echo "DIR: $dest<p>";

if($file) {

copy($HTTP_POST_VARS['file']['tmp_name'], $dest);
echo $test;
}

Was ich komisch finde, ist dass $HTTP_POST_VARS['file']['name'] und $HTTP_POST_VARS['file']['tmp_name'] jeweils auf "j" gesetzt werden, $file aber logischerweise auf jokes.txt (meine Testdatei). $file_name und $file_size die laut PHP-Offline-manual existieren sollten, gibts gar nicht erst :mad:

Auf jeden Fall bekomm ich diesen Fehler:
Warning: Unable to open 'j' for reading: No such file or directory in /path/upload.php on line 27

Wenn ich statt den POST_VARS $file im copy verwende, gehts auch nicht.

EDIT: $HTTP_POST_VARS['file']['size'] wird auch auf "j" gesetzt...
Bearbeitet von jives am 13.10.2002, 18:51

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Kann mir denn wirklich niemand helfen? :(

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
Schau ins PHP-Manual, da ist das besser beschrieben als in irgendeinem buch ;)

noledge

CWNE #540
Avatar
Registered: Apr 2001
Location: ::1
Posts: 6838
die idiotensicherste beschreibung hab ich für einen arbeitskollegen auf der inode-homepage gefunden - gleich der zweite punkt -> http://www6.inode.at/support/webser...t_unix/php.html

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
ärger insecure :eek:

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Ähm, genau den Vorschlag vom noli hab ich verwendet. Mal abgesehen davon dass er insecure ist und zu Testzwecken dient, funktioniert er nicht!

Ich hab hier eh schon ärgeres Debugging gemacht und bin draufgekommen (wie in meinem Post beschrieben -> wlkikiv) dass einige Varibalen entweder nicht oder nur total unsinnig gesetzt werden. Im Manual (egal in welchem) ist nichts über solche Probleme zu finden.

Was nutzt mir bei $_FILES['file']['size'] bzw. bei $HTTP_POST_VARS['file']['size'] der Anfangsbuchstabe des Namens meiner Datei?

Kann es sein, dass mei Provider keinen Fileupload per Script unterstützt?

Nostra

Bloody Newbie
Registered: Sep 2002
Location: I bins da Koarl
Posts: 4
Zitat von KaZaa
Zitat von Goldlocke
212 MHz für PC3500C2 ist SCHWACH!

Allerdings sind 212MHz für 2x 512MB Riegel Ownage pur!

Bravo Corsair! :D

probiers mal so:
$path=dirname($PATH_TRANSLATED);
$path=str_replace("\\","/",($path));
if (($file<>"none") || ($file<>"")) {
$dest=$path.$file_name;
if (copy($file,$dest)) echo "uploaded";
}

wenn das net geht dann ändere mal deine Variable file in einen x-beliebigen Namen, da es sein kann dass dieser Variablennamen reserviert ist.
Ansonsten sprich mit deinem ISP ;)

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Thx für die Hilfe, das funktioniert aber auch nicht (hab ich schon probiert). Wird wohl am Webspace liegen :(

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von KaZaa
Thx für die Hilfe, das funktioniert aber auch nicht (hab ich schon probiert). Wird wohl am Webspace liegen :(
ähm, wenn es jetz auch ein bisserl verarschend klingt - chmod?

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Lol :D 666 und 777 für alle Verzeichnisse ausprobiert - geht nicht :(

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
ARGH! Ich hupf glei ausm Fenster... wie kann ein einzelner Mensch nur so dumm sein!? :bash:
Das Zauberding das im formtag gefehlt hat war:
ENCTYPE="multipart/form-data" :bash:

Danke für eure Hilfe, aber gegen meine Dummheit ist nix zu tun :D
EDIT: Hab ein bischen mit den bashes übertrieben
Bearbeitet von jives am 14.10.2002, 21:08

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
es gibt
is_uploaded_file()
und move_uploaded_file()
bitte verwenden

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Sind afaik neuere Befehle. Hat mein Testserver net unterstützt (PHP 4.0.0) :)
Aber praktisch sinds schon...

Snoop

Here to stay
Registered: Jun 2002
Location: Gablitz
Posts: 1093
hehe der einzige der das problem hier bis jetzt erkannt hat ist da Kazaa :) das encrpyt fehlt im form befehl, ohne dem bleibt der array leer :) erst dann geht das :) also!!!!
<form action="upload.php" method="post" encypte="multipart/form-data" >
Weiters wenn du mit einem upgeloadeten file arbeitest ist es net $_HTTP_POST_VARS[]
sondern $HTTP_POST_FILES[] :) dann sollte alles gayn :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Snoop
hehe der einzige der das problem hier bis jetzt erkannt hat ist da Kazaa :) das encrpyt fehlt im form befehl, ohne dem bleibt der array leer :) erst dann geht das :) also!!!!
<form action="upload.php" method="post" encypte="multipart/form-data" >
Weiters wenn du mit einem upgeloadeten file arbeitest ist es net $_HTTP_POST_VARS[]
sondern $HTTP_POST_FILES[] :) dann sollte alles gayn :)
:confused:
welchen sinn hat deine feststellung, wie du erkannt hast hat der kazaa das schon erkannt... da es sein thread ist, ist das problem demnach gelöst :p
ausserdem stimmt des was du gschriebn hast sowieso net, weil's net encypte, sondern enctype heisst ;)

bei post-vars muss ich dir recht geben:
$HTTP_POST_VARS['file'] -> php3
$HTTP_POST_FILES -> php4
$_FILES -> php4.1
dass jetzt ersteres mit php4 GARNICHT geht tät ich mich nicht trauen zu behaupten...
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz