php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.11.2005, 16:56  
Benutzer
 
Registriert seit: 15.09.2004
Beiträge: 57
pixelcut
Standard Mehrere Dateien uploaden (foreach Problem)

Hallo,

ich brauche einen Dateiupload für mehrere Bilder. Soweit eigentlich kein Problem. Ich habe für die Upload-Felder feste Namen vergeben (userimage1, userimage2, etc.). Ich prüfe die Bilder mittels foreach, habe jedoch ein Problem. IN der foreach-Schleife geht mir die Variable (z.B. userimage1, etc.) verloren, bzw. ich habe darauf keinen Zugriff mehr. Wie komme ich an die Variable ran? Um es einfach zu sagen: Ich MUSS IN der foreach-Schleife wissen, ob es sich um userimage1, userimage2, etc. handelt, weiß jedoch nicht wie ich darauf zugreifen kann. Vielen lieben Dank für Eure Hilfe.


Das Upload-Script (noch unfertig wegen der Problematik):

Code:
if (isset($_FILES)) 
{

//print_r($_FILES); // Hier kommt der Name [userimage1], etc. noch vor, in der Schleife nicht mehr.

    $fileerror = array();

    foreach($_FILES as $file) 
    {

    print_r($file); // Hier kann ich auf den Namen nicht mehr zugreifen

        if (!empty($file['name']) && ($file['error'] != 4)) 
        {

            $limitedext = array(".jpg",".jpeg");
            $extension  = strrchr($file['name'],'.');
            $sizebytes  = "1000000";
            $timestamp  = time();

            if (!in_array($extension, $limitedext)) {
                $fileerror['extension'] = "Das Bild ".$file['name']." ist kein .jpg";
            }

            if ($file['size'] > $sizebytes) { 
                $fileerror['sizebytes'] = "Das Bild ".$file['name']." ist zu groß";
            }
        }
    }
}



Und hier das Upload-Script:
Code:
    <form method="post" action="<?= $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
    <input type="hidden" name="userimages" value="true" />
    <div class="abstand" style="padding-left:20px;">
    <table border="0" cellpadding="0" cellspacing="0" width="490">
    <tr>
      <td class="form_pixrow" colspan="2"></td>
    </tr>
    <tr>
      <td class="form_desc">Bild 1:</td>
      <td class="form"><input type="file" name="userimage1" style="width:300px;" /></td>
    </tr>
    <tr>
      <td class="form_pixrow" colspan="2"></td>
    </tr>
    <tr>
      <td class="form_desc">Bild 2:</td>
      <td class="form"><input type="file" name="userimage2" style="width:300px;" /></td>
    </tr>
    <tr>
      <td class="form_pixrow" colspan="2"></td>
    </tr>
    <tr>
      <td class="form_desc">Bild 3:</td>
      <td class="form"><input type="file" name="userimage3" style="width:300px;" /></td>
    </tr>
    <tr>
      <td class="form_pixrow" colspan="2"></td>
    </tr>
    <tr>
      <td class="form_desc">Bild 4:</td>
      <td class="form"><input type="file" name="userimage4" style="width:300px;" /></td>
    </tr>
    <tr>
      <td class="form_pixrow" colspan="2"></td>
    </tr>
    <tr>
      <td class="form_desc">Bild 5:</td>
      <td class="form"><input type="file" name="userimage5" style="width:300px;" /></td>
    </tr>
    <tr>
      <td class="form_pixrow" colspan="2"></td>
    </tr>
    </table>
    

    <input type="submit" value="Uploaden" />
    </div>
    </form>
pixelcut ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.11.2005, 17:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Benutze foreach ($_FILES as $key => $value)
in $key sollte jetzt "userimage1" etc. stehen.
Zergling-new ist offline   Mit Zitat antworten
Alt 09.11.2005, 17:31  
Benutzer
 
Registriert seit: 15.09.2004
Beiträge: 57
pixelcut
Standard

Hallo!

Super, das hat schon mal geklappt, vielen Dank! Allerdings tut sich gerade ein für mich nicht erklärbares Problem auf. Ich habe ja die 5 Uploadfelder. Erlaubt sind nur .jpg, .jpeg. Wenn ich nun als erste Datei (userimage1) ein .gif uploaden möchte und mit userimage2 z.B. ein valides .jpg, dann erhalte ich für beide einen Fehler. Lade ich das .jpg als erstes (userimage1) hoch und das abzulehnende .gif als userimage2, geht es. Ebenso wenn das erste ein .jpg, das 2. ein .gif und alle nachfolgenden ein .jpg sind. Dann wird nur das ÜBER dem .gif als ok angesehen Das haut mich jetzt echt um

Code:
<?php

if (isset($_FILES)) 
{

    $fileerror = array();
    foreach($_FILES as $key => $file) 
    {

        if (!empty($file['name']) && ($file['error'] != 4)) 
        {

            $limitedext = array(".jpg",".jpeg");
            $extension  = strrchr($file['name'],'.');
            $sizebytes  = "1000000";
            $timestamp  = time();

            if (!in_array($extension, $limitedext)) {
                $fileerror['extension'] = "Das Bild ".$file['name']." ist kein .jpg";
            }

            if ($file['size'] > $sizebytes) { 
                $fileerror['sizebytes'] = "Das Bild ".$file['name']." ist zu groß";
            }

            if (count($fileerror) == 0) {
            // schauen was rauskommt
            echo $key;
            echo "
";
            echo $file['size'];
            echo "
";
            echo $file['name'];
            echo "
";
            echo $file['type'];
            echo "
";
            echo $file['tmp_name'];
            echo "
";
            echo $file['error'];
            echo "

";

            } else { echo "Fehler!
"; exit; }

        }
    }
}

?>
pixelcut ist offline   Mit Zitat antworten
Alt 09.11.2005, 17:34  
Benutzer
 
Registriert seit: 15.09.2004
Beiträge: 57
pixelcut
Standard

Okay, war mein Fehler. Der $fileerror-Array musste natürlich IN die foreach und nicht davor, jetzt klappt es Vielen Dank noch mal! :wink:
pixelcut ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Dateien verschlüsseln GSJLink PHP-Fortgeschrittene 2 26.04.2008 12:29
Problem mit foreach fritz_07 PHP Tipps 2008 2 09.03.2008 09:57
Problem mit Dateien... Freeaak PHP Tipps 2006 6 19.06.2006 15:02
Leerzeichen ersetzen Problem bei dateien mokus PHP Tipps 2006 20 24.05.2006 19:51
Problem beim Kopieren von Dateien Smiley PHP Tipps 2006 5 04.02.2006 00:11
dateien ausgeben kein Problem - ABER! dsmcg PHP Tipps 2005-2 9 22.10.2005 19:59
$_FILES mit foreach() PHP Tipps 2005-2 5 20.10.2005 10:27
Mehrere Dateien uploaden PHP Tipps 2005-2 8 09.10.2005 02:11
[Erledigt] Problem beim schreiben von großen Dateien PHP-Fortgeschrittene 21 18.07.2005 15:11
Mehrere Dateien via move_uploadet_file() und array Uploaden PHP Tipps 2005 18 04.05.2005 17:05
Problem mit *.TPL dateien und Design imported_DJ Nuno HTML, Usability und Barrierefreiheit 4 08.03.2005 02:29
foreach problem (oder nur wieder unwissenheit) mAy^daY PHP Tipps 2005 10 25.02.2005 19:38
Problem bei Dateiupload bei großen Dateien Calli PHP Tipps 2005 4 13.01.2005 16:13
for / foreach problem PHP-Fortgeschrittene 4 19.11.2004 16:58
Problem beim Upload mehrerer Dateien per Script PHP Tipps 2004 1 04.08.2004 16:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
foreach $_files, http://www.php.de/php-fortgeschrittene/33568-mehrere-dateien-uploaden-foreach-problem.html, input type file mehrere dateien, foreach($_files, php datei upload foreach, input file mehrere dateien, php: upload mit foreach, dateien uploaden, upload script mit datei verschlüsselung, bilder upload foreach, php mehrere dateien uploaden, $_files foreach, php mehrere dateien hochladen, dateiupload foreach, verschlüsseln von dateien upload, php file upload foreach, foreach($_files as $file), upload feld nur jpg bilder, upload script foreach schleife, upload.class mehrere bilder

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.