Bilder Upload?

B

Breaky

Hallo Profis,

ich habe mal wieder ein Problem :)
Ich habe ein Uploadscript für Image gebastelt mit einigen Abfragen. Unteranderem eine Prüfung nach groesse des Image! Es gibt mir auch eine Fehlermeldung aus, das das Image zu gross ist, aber trotzdem wird es kopiert!

Hier mal der Code:

PHP:
<?PHP

// Variablen laden
$abpath = "c:/webserver/apache/htdocs/setcard/img/$usr"; // Path für Upload
$sizelim = "yes"; // Filesize Limit
$size = "2500"; // Filegrossen Limitangabe


// Imagetype Zulassung
$cert1 = "image/pjpeg"; // JPEG 1
$cert2 = "image/jpeg"; // JPEG 2

$log = "";

// Upload Beginn Image1

// Check ob Image schon existiert
if ($img1_name == "") {
$log .= "Es wurde kein Bild ausgewählt für Image 1<br>";
}
if ($img1_name != "") {
// Check ob File schon existiert
if (file_exists("$abpath/$img1_name")) {
$log .= "Image 1 bereits vorhanden<br>";
} else {

// Check der Filegroesse
if ($sizelim == "yes") {
if ($img1_size > $size) {
$log .= "Image 1 ist zu groß für den Upload<br>";
}
}

// Check des Filetyps
if (($img1_type == $cert1) or ($img1_type == $cert2)) {
@copy($img1, "$abpath/$img1_name") or $log .= "Kann Image 1 nicht Uploaden<br>";
if (file_exists("$abpath/$img1_name")) {
$log .= "Image 1 wurde Erfolgreich kopiert<br>";
}
} else {
$log .= "Image 1 ist kein gültiges Bildformat<br>";
}
}
}

// Log ausgeben
?>
<body link="#DECB94" vlink="#DECB94" alink="#DECB94" text="#DECB94" bgcolor="#000000">
<div align="center">
<h1><font face="Verdana" size="2">Bilder Upload</font></h1>
<?

echo "$log";
?>
<A HREF="show.php"><br><br>Show Setcard</A>
</p>
<body>
<html>

das Formular ist folgendes:

PHP:
<?php

// Formular laden
?>

<body link="#DECB94" vlink="#DECB94" alink="#DECB94" text="#DECB94" bgcolor="#000000">
<div align="center">
<h1><font face="Verdana" size="2">Bilder Upload</font></h1>
<form method=POST action=do_upload.php?usr=<?php echo $usr; ?> enctype=multipart/form-data>
<input type=file name=img1 size=30><br>
<input type="submit" name="submit" value="Upload">
</form>
</body>
</html>

Mit $usr übergebe ich das Verzeichnis! Kann mir einer den Fehler sagen?
Und wie kann ich es anstellen, das ein ausgewähltes Images mit einem fest Definierten Namen (z.B. 01.jpg) dann auf meinen Server gespeichert wird und noch dazu klein geschrieben???

Für Eure Hilfe wäre ich sehr dankbar!

Grussi
 
-

Du musst deine ganzen Bedingungen in eine Abfrage packen. Dein Script überprüft zwar, wie groß das Bild ist und gibt dann einen Satz aus, aber diese Bedingung bricht den Upload nicht ab. Schreib das Script so, dass erst wenn alle Bedingungen erfüllt sind, dann erst der copy() Vorgang eingeleitet wird.

Schönes We
 
So müsste das gehen:

PHP:
<?PHP

// Variablen laden
$abpath = "c:/webserver/apache/htdocs/setcard/img/$usr"; // Path für Upload
$sizelim = "yes"; // Filesize Limit
$size = "2500"; // Filegrossen Limitangabe


// Imagetype Zulassung
$cert1 = "image/pjpeg"; // JPEG 1
$cert2 = "image/jpeg"; // JPEG 2

$log = "";

// Upload Beginn Image1

// Check ob Image schon existiert
if ($img1_name == "") {
$log .= "Es wurde kein Bild ausgewählt für Image 1<br>";
}
if ($img1_name != "") {
// Check ob File schon existiert
if (file_exists("$abpath/$img1_name")) {
$log .= "Image 1 bereits vorhanden<br>";
} else {

// Check der Filegroesse
if ($sizelim == "yes") {
if ($img1_size > $size) {
$log .= "Image 1 ist zu groß für den Upload<br>";
}
}

// Check des Filetyps
if (($img1_type == $cert1) or ($img1_type == $cert2)) {
if ($log == "") { 
@copy($img1, "$abpath/$img1_name") or $log .= "Kann Image 1 nicht uploaden<br>";
}
if (file_exists("$abpath/$img1_name")) {
$log .= "Image 1 wurde Erfolgreich kopiert<br>";
}
} else {
$log .= "Image 1 ist kein gültiges Bildformat<br>";
}
}
}

// Log ausgeben
?>
<body link="#DECB94" vlink="#DECB94" alink="#DECB94" text="#DECB94" bgcolor="#000000">
<div align="center">
<h1><font face="Verdana" size="2">Bilder Upload</font></h1>
<?

echo "$log";
?>
<A HREF="show.php"><br><br>Show Setcard</A>
</p>
<body>
<html>

Grüsse

T&P

P.s. Habs nicht getestet!
 
8ung wenn der serveradmin den apache betrieb auf secure gestellt hat kann man per copy befehl leider nix uploaden :(
is bei meinem so :(

MfG Badmaster
 

Neue Beiträge

Zurück