Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Gleichzeitiger Upload mehrer Bilder“

H

headshotsmiley

Guest

Hallo!

zuerst: Ich habe die Suchfunktion benutzt und nichts gefunden was mich weiterbringt!

Mein Problem:

ich möchte gerne mit einem skript mehrere bilder gleichzeitig hochladen, verkleinern (einmal als thumbnail und einmal als "großansicht"). Ich habe dazu ein Formular gebastelt mit <input type="file" name="bild1"> <input type="file" name="bild2"> <input type="file" name="bild3">

mein PHP script sieht so aus:

PHP:
for($i = 1; $i <= 3; $i++) {
						 	if(isset($_FILES['bild'.$i])) {
						 		switch($_FILES[datei][type]) {
						 			case "image/jpeg":
						 				$error = false;
						 				$endung = "jpeg";
						 				break 1;
						 			default:
						 				$error = true;
						 		}
						 		if(!$error) {
						 			if(move_uploaded_file($_FILES['bild'.$i]['tmp_name'], htmlspecialchars(basename($_FILES['bild'.$i]['name'] ))))
						 			$datei = "images/tmp/".$_POST[artnr].".".$endung;
						 			rename($_FILES['bild'.$i]['name'],$datei);
									$PicPathOut="images/shop/";

									// Kleine Bilddaten feststellen
									$size=getimagesize($datei);
									$breite=$size[0];
									$hoehe=$size[1];
									$neueBreite=200;
									$neueHoehe=intval($hoehe*$neueBreite/$breite);

									if($size[2]==2) {
									// JPG
									$altesBild=ImageCreateFromJPEG($datei);
									$neuesBild=ImageCreate($neueBreite,$neueHoehe);
									ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
									ImageJPEG($neuesBild,"$PicPathOut".$_POST[artnr]."k_".$i.".jpeg");
									}

									// Grosse Bilddaten feststellen
									$neueBreite=500;
									$neueHoehe=intval($hoehe*$neueBreite/$breite);

									if($size[2]==2) {
									// JPG
									$neuesBild=ImageCreate($neueBreite,$neueHoehe);
									ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
									ImageJPEG($neuesBild,"$PicPathOut".$_POST[artnr]."g_".$i.".jpeg");
									}
							 	}
						 	}

leider funktioniert es nicht so wie ich es will und in den entsprechenden ordnern finde ich auch keine dateien (ftp)

PS: habe meinen formularheader schon mit ectype="multipart/form-data" ausgestattet....

kann mir da einer helfen?
 
H

headshotsmiley

Guest

AW: Gleichzeitiger Upload mehrer Bilder

safari.... aber das muss auf allen funktionieren
 

netbandit

Aktives Mitglied

AW: Gleichzeitiger Upload mehrer Bilder

IE sendet z.B. image/pjpeg.

Frage, was hast Du Dir bei folgendem gedacht?

PHP:
if(move_uploaded_file($_FILES['bild'.$i]['tmp_name'], htmlspecialchars(basename($_FILES['bild'.$i]['name'] )))) 
$datei = "http://www.psd-tutorials.de/modules/Forum/images/tmp/".$_POST[artnr].".".$endung; 
rename($_FILES['bild'.$i]['name'],$datei);
Warum nicht gleich bei move_uploaded_file in das richtige Verzeichnis verschieben?

PHP:
if(move_uploaded_file($_FILES['bild'.$i]['tmp_name'], "http://www.psd-tutorials.de/modules/Forum/images/tmp/".$_POST['artnr'].".".$endung))
Und nebenbei, $_FILES['...']['name'] ist schon basename, und ob es Sinn macht z.B. aus einem & ein &amp; zu machen möchte ich auch mal bezweifeln.

Dann solltest Du Dir überlegen ob Du alles Nachfolgende der if-Anweisung nicht vielleicht in Klammern setzt {}. So wie es jetzt ist, werden ein paar mehr Sachen ausgeführt, selbst wenn Deine Bedingung nicht erfüllt ist.

Sind so die ersten Sachen, die mir auffallen.

Edit: keine Ahnung warum die Forensoftware mir hier jetzt die URL vom Forum reinhaut?! Musst Du Dir wegdenken, wenn es noch angezeigt wird (Ich hab das nicht geschrieben) :D
 
Zuletzt bearbeitet:
C

code_Madman

Guest

AW: Gleichzeitiger Upload mehrer Bilder

Hast du kontrolliert, dass die Daten auch wirklich in der Variablen stecken? Ausserdem: Speicherst du die Bilder (die neuen) auch irgendwo weg?
Ist die Temporäre Datei vorhanden, und er kopiert nur nicht richtig?

Evtl. kann dir eine der Fragenstellungen schon weiterhelfen.

LG
 

blackout

Schaf im Wolfspelz

AW: Gleichzeitiger Upload mehrer Bilder

mit welchem browser?
Falsches Jahrtausend.

@netbandit: Mit move_uploaded_file hab ich auch schon schlechte Erfahrungen gemacht, das stellte sich immer so an als wäre keine Datei hochgeladen worden. Irgendwo hab ich mich also blöd angestellt und mir dann per rename den Weg drum rum hacken müssen ... könnte mir vorstellen, dass das viele andere auch machen.
 
Zuletzt bearbeitet:

blackout

Schaf im Wolfspelz

AW: Gleichzeitiger Upload mehrer Bilder

Die Frage nach "mit welchem Browser soll's funktionieren" gehört so ca. ins Jahr 1998.
 

CIX88

Aktives Mitglied

AW: Gleichzeitiger Upload mehrer Bilder

Bei einer Fehlersuche würde ich Schritt für Schritt das oben erwähnte Script debugen.
Als erstes würde ich switch() überprüfen, ob dort überhaupt richtig abgefragt wird.
Was hält einen davon ab, dort mal als Test eine echo-Ausgabe zu machen?

break 1; sieht nett aus, aber nur break; macht es auch :)
Bei switch() -> default kommt auch ein break; rein :)
Und kann kann man erstmal gucken, was die $error ausgibt - was dann Schritt 1 wäre.

Wenn soweit alles in Ordnung ist, kann man prüfen ob die Datei überhaupt gespeichert wurde. Auch hier reicht es vollkommen aus, hinter if(move_uploaded_file ... mal ein echo 1; zu schreiben. Das wäre dann Schritt 2 :)

Zum Schluss noch der Hinweis, dass die GDlib recht viel Speicher (RAM) verbraucht.
Wenn also ein Bild mit der GDlib erstellt wird, dann den Speicher auch frei geben, damit nächste Anwendungen nicht stehen bleiben, oder das Script komplett versagt.
Siehe -> ImageDestroy()
 

netbandit

Aktives Mitglied

AW: Gleichzeitiger Upload mehrer Bilder

Die Frage nach "mit welchem Browser soll's funktionieren" gehört so ca. ins Jahr 1998.
Ach so, nein: Ich meinte eigentlich in welchem Browser funktioniert es nicht, bzw. tritt der Fehler auf. Hatte erst vermutet, dass beim Prüfen von $_FILES['datei']['type'] der Fehler ist, da der IE image/pjpeg statt image/jpeg sendet.

Im übrigen habe ich nur

mit welchem browser?
geschrieben. Das "soll's funktionieren" hast Du Dir dazu gedacht. ;)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben