Problem mit Bildupload, das Bild landet nicht auf dem Server

ciccy

Grünschnabel
hallo,

ich habe Probleme mit Bildupload, im Netz habe ich einige Skripts gefunden, aber bei allen wird das Bild von der Festplatte nicht auf den Server geladen.

hier ein Beispiel:

$path = "img/";

// Maximale Dateigrösse in Byte

$max_size = 20480;

// Maximale Breite in Pixel

$max_width = 766;

// Maximale Höhe in Pixel

$max_height = 72;

//
// Main Script
//

IF ($_POST["gesendet"]) { // Nur ausführen wenn das Upload Formular gesendet wurde

IF ($_FILES['upload']['type'] == "image/gif" || $_FILES['upload']['type'] == "image/jpeg" || $_FILES['upload']['type'] == "image/pjepg") { // Prüfen ob der MIME Typ korrekt ist

IF ($_FILES['upload']['size'] <= $max_size) { // Dateigrösse prüfen

$size = getimagesize($_FILES['upload']['tmp_name']);

IF ($size[0] <= $max_width AND $size[1] <= $max_height) { // Höhe und Breite checken

$time = time();
IF ($_FILES['upload']['type'] == "image/gif") $name = $time.".gif";
IF ($_FILES['upload']['type'] == "image/jpeg") $name = $time.".jpg";

move_uploaded_file($_FILES['upload']['tmp_name'],"$path$name"); // Datei Uploaden
$ausgabe .= "Bild erfolgreich auf dem Server gespeichert!<br>";

} ELSE {
$ausgabe .= "Bild ist zu breit oder zu hoch!<br>";
}

} ELSE {
$ausgabe .= "Bild ist zu gross!<br>";
}

} ELSE {
$ausgabe .= "Ungültiger Dateityp!<br>";
}

}
 
Zeig mal dein Formular zum upload, ich vermute, daß da der Fehler steckt.
Ausserdem kannst du mit [ PHP ] [ /PHP ] (ohne Leerzeichen) den Code besser darstellen:
PHP:
$path = "img/";

// Maximale Dateigrösse in Byte

$max_size = 20480;

// Maximale Breite in Pixel

$max_width = 766;

// Maximale Höhe in Pixel

$max_height = 72;

//
// Main Script
//

IF ($_POST["gesendet"]) { // Nur ausführen wenn das Upload Formular gesendet wurde

IF ($_FILES['upload']['type'] == "image/gif" || $_FILES['upload']['type'] == "image/jpeg" || $_FILES['upload']['type'] == "image/pjepg") { // Prüfen ob der MIME Typ korrekt ist

IF ($_FILES['upload']['size'] <= $max_size) { // Dateigrösse prüfen

$size = getimagesize($_FILES['upload']['tmp_name']);

IF ($size[0] <= $max_width AND $size[1] <= $max_height) { // Höhe und Breite checken

$time = time();
IF ($_FILES['upload']['type'] == "image/gif") $name = $time.".gif";
IF ($_FILES['upload']['type'] == "image/jpeg") $name = $time.".jpg";

move_uploaded_file($_FILES['upload']['tmp_name'],"$path$name"); // Datei Uploaden
$ausgabe .= "Bild erfolgreich auf dem Server gespeichert!<br>";

} ELSE {
$ausgabe .= "Bild ist zu breit oder zu hoch!<br>";
}

} ELSE {
$ausgabe .= "Bild ist zu gross!<br>";
}

} ELSE {
$ausgabe .= "Ungültiger Dateityp!<br>";
}

}
 
Hallo!

Ausserdem solltest Du, wenn Du auf image/pjpeg prüfst, für den Type auch einen Namen vergeben. ;)
Im Moment tust Du dieses nämlich nur für image/gif und image/jpeg.

Gruss Dr Dau
 
Jörg Rißmann hat gesagt.:
Jau, "image/pjepg" soll wohl "image/pjpeg" heißen....
Stimmt, ist mir nicht aufgefallen.
Das muss er also auch ändern.
Mir kommt allerdings das ganze Script ein wenig suspekt vor, kann mich aber auch täuschen.
Er hat auch nicht gesagt ob z.b. eine Fehlermeldung ausgegeben wird oder sonst irgendwas passiert.
Ich weiss auch nicht WO im Netz er gesucht hat, aber ganz sicher nicht hier. ;)
 
habe es nun geschafft mit Hilfe des phpmanuals.

Ich war sehr auf dem Holzweg mit meinem Skript ;-)

Danke für Eure Hilfen.

Ciccy
 
So kann es kommen. ;)

Dann hat mich mein Gefühl wohl doch nicht getäuscht.
Wenn deine Fragen also geklärt sind, dann markiere dieses Thema bitte als erledigt, in dem Du unten auf "Status: nicht erledigt" klickst.

[edit]
Da war ich wohl mit dem schreiben zu langsam..... oder Du mit dem klicken zu schnell. :)
[/edit]
 
Nein Dein Gefühl hat dich nicht geätuscht.

Das mit dem erledigt-Status habe ich soeben gemacht ;-)

Gruß
Ciccy
 
Zurück