Bilderupload

Dieses Thema Bilderupload im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von noah1, 6. Apr. 2005.

Thema: Bilderupload Ich arbeite gerade an einem Script zum Bilderupload für meine Homepage, die hochgeladenen Bilder sollen dann in...

  1. Ich arbeite gerade an einem Script zum Bilderupload für meine Homepage, die hochgeladenen Bilder sollen dann in Ordner, deren Namen man bei der Bilderauswahl bestimmen kann und die dann, falls noch nicht auf dem Server vorhanden erstellt werden, kopiert werden.
    Dafür habe ich mehrere Formulare geschrieben, die nacheinender abgefragt werden: 1. die Anzahl der hochzuladenden Bilder( max- 25), wenn man das eingegeben hat kommt die Frage nach dem Ordnernamen, und wenn der eingegeben ist kommt der Bilderupload, aber halt soviele Uploadfelder zum Aussuchen wie vorher eingegeben.

    Und das sieht dann so aus:
    Code:
    <?php
    	echo<p><b>Bilder zum Upload Auswählen</b></p>
    			<form action='index.php' method='get' name='bilder' enctype='multipart/form-data' onReset='return sicher()'>
    			<input type='hidden' name='go' value='bilderupload'>
    			<input type='hidden' name='auswahl' value='bildupload'>
    			<input type='hidden' name='bildanzahleingabe' value='$bildanzahleingabe'>	
    			<input type='hidden' name='ordnername' value='$ordnername'>
    			<input type='hidden' name'ordnersubmit' value='true'>;
    				for ($i=1; $i<=$bildanzahleingabe; $i++)
    				{
    					if ($i <= 9)
    					{
    						echoBild 0$i <input style='margin: 2px;' type='file' name='bild$i'><br>;
    					}
    					if ($i >= 10)
    					{
    						echoBild $i <input style='margin: 2px;' type='file' name='bild$i'><br>;
    					}
    					
    				}
    				echo<p><input type='reset' value='Alle Felder löschen'>  <input           type='submit' name='bilder_hochladen' value='Galerie erstellen'></form></p>;
    
    	?>
    
    Jetzt komme ich aber mit der weiteren Verarbeitung der Bilder nicht klar.
    Ursprünglich hatte ich gedachr ich könne die eingegebene Bilder auf dieselbe Weise wie bei der Eingabe hochladen bzw. erstmal auf Typ und Größe prüfen lassen, nämlich auch durch eine for-Schleife eine Variable hochzählen lassen und damit die Bilder benennen.
    Das klappt aber nicht.
    Wie kann ich z.B. die Bilder in ein Array packen daß ich dann weiter prüfen und hochladen kann ?



    Edit: Ich nehme an, daß wenn ich die Schleife etwas ändere, nämlich
    Code:
    <?php
    for ($i=1; $i<=$bildanzahleingabe; $i++)
    				{
    					if ($i <= 9)
    					{
    						echoBild 0$i <input style='margin: 2px;' type='file' name='bild[$i]'><br>;
    					}
    					if ($i >= 10)
    					{
    						echoBild $i <input style='margin: 2px;' type='file' name='bild[$i]'><br>;
    					}
    					
    				}
    ?>
    
    wird automatisch ein Array bilder erstellt.(Korrigiert mich wenn ich da falsch liege.)
    Wie aber muß ich die Ausgabe des Arrays formulieren, daß nacheinender alle Bilder des Arrays geprüft und auf den Server kopiert werden?
     
  2. So wirklich hilft mir das nicht weiter...
    Ich bin einer Lösung glaube ich aber schon recht nahe - im Moment bin ich soweit daß ich alle zum Upload ausgesuchten Dateien nacheinander angezeigt bekomme, also sollte es dann ja nicht mehr so schwer sein die auch auf den Server zu kopieren.
    Ich melde mich dazu morgen nochmal wieder.
     
  3. Wie gesagt bin ich ja soweit, daß ich die ausgewählten Dateien nacheinander aufgelistet bekomme.
    Jetzt tüftele ich an der Prüfung der Dateien, die Filegröße und ob eine Datei gleichen Namens bereits auf dem Server vorhanden ist habe ich, aber mit den Dateitypen habe ich so meine Probleme.

    Code:
    <?php
    else if((($_FILES['bild']['type'][$i]) != image/gif) OR (($_FILES['bild']['type'][$i]) != image/jpg) OR (($_FILES['bild']['type'][$i]) != image/jpeg)){
    							echo<p><small>Der Dateityp der Datei .$_FILES['bild']['name'][$i]. stimmt nicht und sie wird nicht in die Gallerie hochgeladen.</small></p>;
    							}
    ?>
    So sieht der (vorläufige Code) für die Prüfung aus, damit bekomme ich aber bei jeder Datei die Meldung daß der Typ nicht stimmt, egal ob .jpg oder .gif...
    Wie muß ich das ändern, daß weinigstens die angegebenen Dateitypen hochgeladen werden ??
     
  4. Versuchs mal so:

    Code:
    <?php
    $typen = array(image/gif, image/jpg, image/jpeg);
    
    else if(in_array($_FILES['bild']['type'][$i], $typen) {
    	echo<p><small>Der Dateityp der Datei .$_FILES['bild']['name'][$i]. stimmt nicht und sie wird nicht in die Gallerie hochgeladen.</small></p>;
    }
    ?>
    
     
  5. Ich mußte es nochmal etwas ändern, aber jetzt geht es. Danke...


    Code:
    <?php
    else if(!in_array($_FILES['bild']['type'][$i], $typen)) {
    ...
    ?>
    
     
  6. Ups, das echo hab ich gar nich gelesen was da drinn stand *schäm*.
    Aber du hast ja schön mitgedacht und die Sache umgedreht ;)