Bild hochladen -> Problem mit dem senden

Status
Nicht offen für weitere Antworten.

gerd87

Erfahrenes Mitglied
Hallo,

ich möchte ein Bild hochladen.
Das Feld sieht so aus:

PHP:
 <form action="index.php" method="post" enctype="multipart/form-data">
 <input type="file" name="bilddatei" value="Durchsuchen">
</form>

wenn ich jetzt auf $_POST['bilddatei'] zugreifen möchte, ist die Variable leer.
wenn ich type="text" eingebe, bekomme ich den Wert.

Weiss jemand wo das Problem liegt?
 
Schreibe entweder
PHP:
print_r($_FILE);
oder
PHP:
print_r($_FILES);

oben in dein Quellcode. Ich weiß gerade was das richtige ist :(
Und schreib mir was da rauskommt.
 
bei
Code:
print_r($_FILES);

kommt folgendes:
Code:
Array ( [bilddatei] => Array ( [name] => Passfoto.jpg [type] => image/pjpeg [tmp_name] => /tmp/php6vwOzi [error] => 0 [size] => 169611 ) )
 
jetzt möchte ich mit folgendem Script das Bild hochladen:
PHP:
if($bilddatei!= "") {

    $ext = strrchr($bilddatei_name,'.');
    if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
        echo "Die Bilddatei hat nicht die richtige Endung.";
    }

        //ansonsten wird die Datei im Ordner images kopiert
    else{

        $im = ImageCreateFromJpeg($bilddatei);
        if($im){
            $picx = imagesx($im);
            $picy = imagesy($im);
            $picsx = 640;
            $picsy = 480;

            $zimg = imagecreatetruecolor($picsx, $picsy);
            imagecopyresampled($zimg, $im, 0, 0, 0, 0, $picsx, $picsy, $picx, $picy);

            ImageJpeg($zimg, 'images/'.$bilddatei_name, 100);

            ImageDestroy($zimg);
        }
    }
}

wie komme ich jetzt an $bilddatei dran?

Gruß, Gerd
 
Du greifst auf die Datein garnicht mit dem $_POST Array zu, die ist für alles andere da, für Datein jedoch läuft das ganze ein wenig anders!
Speziell für das Hochladen von Datein, hat PHP das $_FILES Array, sieht also so aus, du kannst auf den Pfad, Typen, Größe etc. einfach über die verschiedenen Array werte zugreifen.
Also den temporären(!) Pfad, den du für die GD Library ja brauchst, kriegst du in deinem Fall über folgenden Zugriff...
Code:
$bilddatei = $_FILES['bilddatei'][tmp_name];
$bildgröße = $_FILES['bilddatei'][size];
$bildtyp =   $_FILES['bilddatei'][type];
Sonst kannste natürlich auch immer gut auf der PHP.net Seite dir jegliche Details angucken.
 
Danke, genau so hat es funktioniert.

habe jetzt vor dem Quelltext
PHP:
$bilddatei = $_FILES['bilddatei'][tmp_name];
$bilddatei_name = $_FILES['bilddatei'][name];

eingefügt.

Gruß, Gerd
 
Status
Nicht offen für weitere Antworten.
Zurück