Hallo Leute,
also ich benutze u.g. Skript zum Upload von Bildern auf meinen Server. Das klappt auch solange es die Datei nicht schon gibt. Da ich dem Ordner jedoch auf meinem Server nicht die Rechte geben kann Dateien zu überschreiben, habe ich das Skript so geschrieben, dass wenn die Datei schon existiert diese erst gelöscht wird und anschließend die Neue gespeichert wird.
Leider klappt das nicht. Wenn die Datei schon existiert wird sie nur gelöscht, die neue aber nicht gespeichert.
Das geht dann erst wieder wenn man sie neu hochläd.
Könnt ihr mir sagen wo der Fehler ist?
Hier der Code:
also ich benutze u.g. Skript zum Upload von Bildern auf meinen Server. Das klappt auch solange es die Datei nicht schon gibt. Da ich dem Ordner jedoch auf meinem Server nicht die Rechte geben kann Dateien zu überschreiben, habe ich das Skript so geschrieben, dass wenn die Datei schon existiert diese erst gelöscht wird und anschließend die Neue gespeichert wird.
Leider klappt das nicht. Wenn die Datei schon existiert wird sie nur gelöscht, die neue aber nicht gespeichert.
Das geht dann erst wieder wenn man sie neu hochläd.
Könnt ihr mir sagen wo der Fehler ist?
Hier der Code:
PHP:
<?php
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
if($type != "image/gif" && $type != "image/jpeg") {
$err[] = "nur gif und jpeg bzw. jpg Dateien dürfen hochgeladen werden.";
}
if($size > "50000") {
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 50 KB!";
}
if(file_exists("./user_images/".$name))
unlink("./user_images/".$name);
elseif(empty($err)) {
copy($tempname, "./user_images/".$name);
echo "Die Datei wurde erfolgreich hochgeladen!";
}
else {
foreach($err as $error)
echo "$error<br>";
}
?>