WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Multiple File Uploads

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Multiple File Uploads - 23 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Multiple File Uploads
Karabear
Pixelschubser
Threadstarter




Beiträge: 16

Hi,

So, nun kommt es heute endlich zu meinem ersten Post. Nachdem ich seit ein paar Wochen Euer Forum verfolgt habe, habe auch ich jetzt mal eine Frage:

Und zwar wollte ich mehrere Dateiuploads gleichzeitig haben. Man muss nur bei den verschiedenen Input-Feldern den gleichen "name" + zwei []-Klammern dahinter verwenden, dann steht ein Array $_FILES['userfile'], wobei userfile der Input-Name ist, zur verfügung. Dazu lasse ich dann ein Script mit einer for-Schleife durch das Array laufen und kopiere die einzelnen files in ein Zielverzeichnis.

Für den Schleifendurchlauf lasse ich von 0 bis count($_FILES['userfile']) durchlaufen. Count sollte die Einträge des Arrays zählen. Das Problem ist jetzt, dass er das nur tun sollte aber nicht tut. Er zählt bei 3(!!) Input-Feldern 4(!) Einträge!

Weiss jemand was darüber? Ist das vielleicht ein Bug?
Danke schon mal im Vorraus,

Kara

  Profil   Website   Editieren   Zitieren
NetDrag
Foren-Team




Beiträge: 442

ein array mit 4 einträgen hat die einträge von 0-3 also muß so gezählt werden:

for ($i=0;$i {
....
}


---
We are born wet, naked and hungry, then things got worse!

  Profil   Website   Editieren   Zitieren
Karabear
Pixelschubser
Threadstarter




Beiträge: 16

Mein Quelltext sieht folgendermassen aus:

for ($i=0; $i < count($_FILES['userfile']); $i++) {
if (is_uploaded_file($_FILES['userfile']['tmp_name'][$i])) {
copy($_FILES['userfile']['tmp_name'][$i], $targetPath.$_FILES['userfile']['name'][$i]);
} else {
echo "File ".$_FILES['userfile']['name'][$i]." could not be found...";
}
}

Das bei 4 Einträgen die Indizes von 0-3 gehen ist mir schon klar, das ist ja nicht das Problem. Auch sizeof ergibt den Wert 4, obwohl das Array NUR 3 Einträge haben dürfte. Es gibt schliesslich auch nur 3 Input-Felder. Versteh ich nicht...

Greets, Kara

  Profil   Website   Editieren   Zitieren
Karabear
Pixelschubser
Threadstarter




Beiträge: 16

Ahoi nochmal,

Vielleicht interessiert es ja jemanden, ich habe das Problem eben anders gelöst. Keine Ahnung wo das Problem lag. Ich mach das ganze jetzt mit einer While-Schleife... ist zwar nicht ganz so schön, funtzt dafür aber ordentlich:

$i = 0;
while (!empty($_FILES['userfile']['name'][$i])) {
...
$i++;
}

Vielleicht weiss ja noch jemand ne andere Möglichkeit...

MfG, Kara

  Profil   Website   Editieren   Zitieren
slackerbitch
Otto-Normal-Poster




Beiträge: 69

schau mal hier nach, ganz unten (beitrag von j.h.westerATplanetDOTnlHATESSPAM am 03-Oct-2002 12:57).
http://www.php.net/manual/sk/printwn/features.file-upload.php

das sollte helfen.

_________________
sig



---
sig

  Profil   Website   Editieren   Zitieren
Karabear
Pixelschubser
Threadstarter




Beiträge: 16

Also erst mal Danke für die Hilfe aber jetzt geh ich mich erst mal eingraben...
Ich hab mir das angeschaut und es lag nicht am upload-Limit oder so sondern an einem ganz einfachen Tippfehler oder Denkfehler beim Ansprechen des Arrays in der for-Schleife:

STATT: for ($i=0; $i < count($_FILES['userfile']); $i++)
sollte man schon: for ($i=0; $i < count($_FILES['userfile']['name']); $i++)
(oder ein ähnliches Attribut) nehmen, sonst bleibt man halt einfach eine Ebene zu niedrig.

Ich bin drauf gekommen, weil er immer 4 Einträge hatte, egal wieviele Input-Felder es waren. Dann bin ich drauf gekommen, dass die 4 Einträge was ganz anderes sind:

tmp_name
name
type
size

Ok, jetzt dürft ihr mich alle schlagen... Jetzt geht es wenigstens!

  Profil   Website   Editieren   Zitieren
slackerbitch
Otto-Normal-Poster




Beiträge: 69

geht nicht einfach $_FILES zum zaehlen?

_________________
sig



---
sig

  Profil   Website   Editieren   Zitieren
Karabear
Pixelschubser
Threadstarter




Beiträge: 16

@slackerbitch

Ein count auf $_FILES ergibt 1, ist auch klar, denn es gibt ja nur "userfile"...

Greets, Kara

  Profil   Website   Editieren   Zitieren
slackerbitch
Otto-Normal-Poster




Beiträge: 69

deswegen nimmt man ja userfile[] und dann sollte es mit $_FILES gehen.
z.b. ueber $_FILES["userfile"]["name"][$i] ansprechbar.

wenn du nur userfile als input-namen nimmst, kannst du ja keine multiplen uploads bekommen, weil immer wieder ueberschrieben wird.
oder bin ich jetzt daneben?


---
sig

  Profil   Website   Editieren   Zitieren
Karabear
Pixelschubser
Threadstarter




Beiträge: 16

Nein, da hast du schon Recht, ohn [] gehts nicht. Ich hab als input name sowieso schon userfile[], sonst würde er ja nur die erste datei hochladen. Aber ein count auf $_FILES ergibt 1, weil man ja noch andere inputs mit anderen namen haben könnte, die dann auch in $_FILES gespeichert werden.

Und per $_FILES["userfile"]["name"][$i] greife ich dann auf die einzelnen files zu.

Ich versuch hier mal irgendwie die Reihenfolge darzustellen:

1. Ebene: $_FILES
2. Ebene: userfile
3. Ebene: tmp_name, name, type, size
4. Ebene: xyz, bild1.jpg, image/jpeg, 12345

Ein Baum oder so wär schön gewesen, aber das geht hier nicht so ganz...
Hoffe Du kannst Dir darunter etwas vorstellen

Greets, Kara


  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Multiple File Uploads

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Multiple File Uploads im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8127855    Heute : 250     Gestern : 761     Online : 265     23.11.2024    10:35      0 Besucher in den letzten 60 Sekunden        
Nach oben