Dateiupload mit PHP geht nicht ... :-(
Jensen
- php
0 TomIRL0 Jensen
Folgendes Problem.
Ich habe ein Dateiuploadscript. Das Script ist folgendermaßen aufgebaut:
Eingabeteil:
<input name="userfile[]" type="file" size="50">
<input type="submit" name="senden" value="speichern">
das macht der auch ohne Probleme. Er geht zur nächsten Seite.
Script zum hochladen:
<?php
for($i=0;$i<sizeof($userfile);$i++)
{
if(!$userfile_size[$i])
continue;
$UPLOAD = fopen( $userfile[$i], "r" );
$contents = fread( $UPLOAD,$userfile_size[$i]);
fclose( $UPLOAD );
$SAVEFILE = fopen("files//".$userfile_name[$i], "wb" );
fwrite( $SAVEFILE, $contents,$userfile_size[$i] );
fclose( $SAVEFILE );
}
echo "Die Datei wurde gespeichert ... ";
?>
dann arbeitet er eine Weile als ob er die gewählte Datei hochlädt.
Aber in dem Ordner wo ich angegeben hab ist dann nichts drin.
Kann mir jemand helfen oder hat jemand ein anderes Script?
MfG
Jensen
Moin,
Guckst Du hier findest Du Lösung:
http://www.dclp-faq.de/q/q-formular-upload-php4.html
Das nächste mal guckst Du erst </archiv/>
Dann guckst Du http://php.net und dann Du fragst hier..
TomIRL
Irgendwie geht das nicht so wirklich. Langsam verzweifel ich hier.
MfG
Jensen
Hallo Jensen,
Irgendwie geht das nicht so wirklich.
Definiere "geht [...] nicht".
Wie sieht dein Script jetzt aus (ein Link auf den Code tut es auch)? Bekommst du eine Fehlermeldung? Wenn ja, welche? Was macht das Script (nicht)?
Grüße aus Nürnberg
Tobias
mit den worten von helge Schneider:
Lass sehen!
Also
hab das Script zum hochladen so eingebunden:
<?php
if (isset($_FILES['probe']) and ! $_FILES['probe']['error']) {
// and $_FILES['probe']['size']
move_uploaded_file($_FILES['probe']['tmp_name']);
printf("Die Datei %s steht jetzt als " .
"zur Verfügung.<br />\n",
$_FILES['probe']['name']);
printf("Sie ist %u Bytes groß und vom Typ %s.<br />\n",
$_FILES['probe']['size'], $_FILES['probe']['type']);
}
?>
und ich bekomme folgende Fehlermeldung:
Warning: Wrong parameter count for move_uploaded_file() in /srv/www/htdocs/web18/html/maddy/tutorialzone/tutorialsadminupload.php on line 15
Zeile 15:
move_uploaded_file($_FILES['probe']['tmp_name']);
MfG
Jensen
Hallo Jensen
und ich bekomme folgende Fehlermeldung:
Warning: Wrong parameter count for move_uploaded_file() in » move_uploaded_file($_FILES['probe']['tmp_name']);
Welcher Parameter fehlt? http://de.php.net/manual/de/function.move-uploaded-file.php
Willst Du Deinem Skript nicht sagen, wohin es die Datei zu verschieben hat ;-)
Sag's ihm!
Freundliche Grüsse,
Vinzenz
<?php
if (isset($_FILES['probe']) and ! $_FILES['probe']['error']) {
// and $_FILES['probe']['size']
move_uploaded_file($_FILES['files']['tmp_name']);
printf("Die Datei %s steht jetzt " .
"zur Verfügung.<br />\n",
$_FILES['probe']['name']);
printf("Sie ist %u Bytes groß und vom Typ %s.<br />\n",
$_FILES['probe']['size'], $_FILES['probe']['type']);
}
?>
irgendwie versteh ich das nicht. das funktioniert nicht wirklich ...
kann mal einer ne Korrektur vornehmen?
MfG
Jensen
Hallo!
irgendwie versteh ich das nicht. das funktioniert nicht wirklich ...
Natürlich nicht, weil Du die Funktion "move_uploaded_file()" falsch anwendest. Vergleiche mal Deine Version mit Deiner Vorlage.
Vinzenz war so nett Dir den Link zur Beschreibung der Funktion die den Fehler verursacht hat(siehe Fehlermeldung) zu posten, musst Du nur noch draufklicken und nachlesen.
Also nochmal:
http://de.php.net/manual/de/function.move-uploaded-file.php
Da steht dann folgendes:
"move_uploaded_file" -- Verschiebt eine upgeloadete Datei an einen neuen Ort
Beschreibung:
bool move_uploaded_file ( string filename, string destination)
Diese Funktion prüft, ob die mit "filename" bezeichnete Datei eine gültige Upload-Datei ist (d.h., dass sie mittels PHP's HTTP POST Upload-Mechanismus upgeloaded wurde). Ist die Datei gültig, wird sie zum in "destination" bezeichneten Dateinamen verschoben.
Fällt Dir da was in Bezug auf Deinen Code auf? Die Fehlermeldung sagt "falsche Parameteranzahl", Vinzenz sagt Dir "Willst Du Deinem Skript nicht sagen, wohin es die Datei zu verschieben hat?"
kann mal einer ne Korrektur vornehmen?
Also _noch_ mehr kann man es Dir kaum vorkauen ;-)
Grüße
Andreas
Hallo Jensen
move_uploaded_file($_FILES['files']['tmp_name']);
Laut http://de.php.net/manual/de/function.move-uploaded-file.php will
move_uploaded_file -- Verschiebt eine upgeloadete Datei an einen neuen Ort
bool move_uploaded_file ( string filename, string destination)
zwei Parameter haben:
[1] den Dateinamen der hochgeladenen Datei
[2] das Ziel, wohin die Datei verschoben werden soll
irgendwie versteh ich das nicht. das funktioniert nicht wirklich ...
a) Bitte zähle Deine Parameter.
b) Parameter werden durch Komma getrennt.
c) Ich komme nur bis 1.
d) Wieviele Parameter zählst Du?
e) Wenn Du das gleiche Ergebnis hast wie ich, welcher fehlt?
[1] oder [2]
Freundliche Grüsse,
Vinzenz