Inwiefern ist der Weg im Ganzen falsch? Zu unsicher?
Ist der Ansatz falsch überlegt?
					Ist der Ansatz falsch überlegt?
if ( strpos ( ... ) === false ) {
// 0 / "" wird in false umgewandelt, daher Vergleich ohne Typumwandlung 
if (isset($_FILES['userpic'])) {
//muss ich nur bei diesen beiden variablen ein [$i] anhängen?
$filename = $_FILES['userpic']['name'];
$file = $_FILES['userpic']['tmp_name'];
#################################################################
### dateigröße anpassen ###
// bild verkleinern, wenn zu groß
$tmpfile[1] = $file;
for($i=1;;$i++){
    //$file_size = filesize($tmpfile[$i]);
    $picnfo = GetImageSize($tmpfile[$i]);
    //if($file_size > $pref_maxsize){
    if($picnfo[0] > $max_x && $picnfo[1] > $max_y){
        $tmpfile[$i+1] = tempnam($pref_device, $filename.'_'.$i);
        // bildinfo
        //$picnfo = GetImageSize($tmpfile[$i]);
        $new_width = $picnfo[0] / 20 * 19;
        $new_height = $picnfo[1] / 20 * 19;
        // leeres bild erzeugen
        $destimg = ImageCreateTrueColor($new_width, $new_height) 
or die ("problem in creating empty image");
        // temp. bild einlesen
        switch ($picnfo[2]) {
            case 1:
                $srcimg = ImageCreateFromGIF($tmpfile[$i]) 
or die("Problem In opening Source Image");
                break;
            case 2:
                $srcimg = ImageCreateFromJPEG($tmpfile[$i]) 
or die("Problem In opening Source Image");
                break;
            case 3:
                $srcimg = ImageCreateFromPNG($tmpfile[$i]) 
or die("Problem In opening Source Image");
                break;
            default:
                die ("extension not supported. only jpg, jpeg, gif and png!");
        }
        // verkleinertes temp. bild ins leere bild kopieren
        ImageCopyResized($destimg, $srcimg, 0, 0, 0, 0, $new_width,
 $new_height, $picnfo[0], $picnfo[1]) or die("Problem In resizing");
        // speichern
        switch ($picnfo[2]) {
            case 1:
                ImageGIF($destimg,$tmpfile[$i+1]) 
or die("Problem In outputting");
                break;
            case 2:
                ImageJPEG($destimg,$tmpfile[$i+1],100) 
or die("Problem In outputting");
                break;
            case 3:
                ImagePNG($destimg,$tmpfile[$i+1]) 
or die("Problem In outputting");
                break;
        }
        // temp datei löschen
        unlink ($tmpfile[$i]);
    }
    else{
        break;
    }
}
$picnfo = GetImageSize($tmpfile[$i]);
### bildmaße anpassen ###
// neue ausmaße berechnen, falls zu groß
if ($picnfo[0] > $max_x){
    $newwidth = $max_x;
    $resize = true;
}
else{
    $newwidth = $picnfo[0];
    $resize = false;
}
$newheight = round($picnfo[1] / $picnfo[0] * $newwidth);
if ($newheight > $max_y) {
    $newheight = $max_y;
    $newwidth = round($newheight * $picnfo[0] / $picnfo[1]);
    $resize = true;
}
if ($resize == true){
// neue temp datei anlegen
$tmpfile[$i+1] = tempnam($pref_device, $filename.'_'.$i);
// leeres bild erzeugen
$destimg = ImageCreateTrueColor($newwidth,$newheight)
 or die ("Problem In Creating image");
// temp. bild einlesen
switch ($picnfo[2]) {
    case 1:
        $srcimg = ImageCreateFromGIF($tmpfile[$i]) 
or die("Problem In opening Source Image");
        break;
    case 2:
        $srcimg = ImageCreateFromJPEG($tmpfile[$i])
 or die("Problem In opening Source Image");
        break;
    case 3:
        $srcimg = ImageCreateFromPNG($tmpfile[$i]) 
or die("Problem In opening Source Image");
        break;
    default:
        die ("extension not supported. only jpg, jpeg, gif and png!");
}
// verkleinertes temp. bild ins leere bild kopieren
ImageCopyResized
($destimg,$srcimg,0,0,0,0,$newwidth,$newheight,$picnfo[0],$picnfo[1])
or die("Problem In resizing");
// speichern
switch ($picnfo[2]) {
    case 1:
        ImageGIF($destimg,$tmpfile[$i+1]) or die("Problem In outputting");
        break;
    case 2:
        ImageJPEG($destimg,$tmpfile[$i+1],100) or die("Problem In outputting");
        break;
    case 3:
        ImagePNG($destimg,$tmpfile[$i+1]) or die("Problem In outputting");
        break;
        }
    // temp datei löschen
    unlink ($tmpfile[$i]);
    $i++;
}
$usertmpfile = $tmpfile[$i];
$verkleinerungen = $i - 1;
#################################################################
// Daten entsprechend Grundeinstellungen ueberpruefen
// Sonderzeichen bearbeiten
$filename = strtr($filename, "ÄÖÜäöü", "AOUaou"); // Deutsche Umlaute umwandeln
$filename = strtr($filename, "ß", "s"); // SZet umwandeln
$filename = str_replace(" ","_",$filename); // Leerzeichen durch _ ersetzen
// Dateiname zu lang?
if (strlen($filename) > $pref_maxlength) die ("Der Dateiname ist zu lang! 
Maximal $pref_maxlength Zeichen erlaubt!");
// Datei existiert bereits? Umbenennen!
if (file_exists($pref_device.$filename)) {
    $ext = substr(strrchr($filename,"."),1);
    for ($i = 1;;) {
        $filename = str_replace ('.'.$ext, '', $filename);
        $filename .= '_'.$i.'.'.$ext;
        if (!file_exists($pref_device.$filename)) break;
        else {
            $filename = str_replace ('_'.$i.'.'.$ext, '', $filename);
            $filename = $filename . '.'.$ext;
            $i++;
        }
    }
}
// Datei in Zielverzeichnis verschieben und CHMOD auf 604 setzen
copy ($usertmpfile,$pref_device.$filename);
// temp datei löschen
unlink ($usertmpfile);
chmod($pref_device.$filename, 0604);
echo 'Die Datei wurde erfolgreich ';
if($verkleinerungen > 1) echo 'nach '.$verkleinerungen.' Verkleinerungen ';
echo 'hochgeladen!<br /><a 
href="'.$pref_device.$filename.'">'.$filename.'</a>';
echo '<br /><input type=\'button\' name=\'weiteres_foto_hochladen\' 
value=\'Weiter um Inhalte einzufügen\' 
onClick=\'javascript:window.location.href=webseite.php?
action=neue_webseite&schritt=2\'>';
} 
if ( strpos ( ... ) === false ) {
// 0 / "" wird in false umgewandelt, daher Vergleich ohne Typumwandlung 
// weiterhin unsauber....!
 if($pos["file"] == true) {
    $iPlus = ++$iPlus;
    ..............................
  }
// tut das gleiche!!
 if($pos["file"]) {
    $iPlus++;
    ..............................
  } 
var_dump(0==false); // true
var_dump(0===false); //false 
Kommentar