Da ich im Internet nie etwas richtiges gefunden habe, versuche hier jemanden zu finden, der mir helfen kann.
Ich möchte einen Bildupload machen, bei dem die dateien ins verzeichnis bilder/upload/
hochgeladen werden. Der name des bildes soll so bleiben. Falls die Datei schon vorhanden ist einen text anzeigen “Bild schon vorhaden”.
Wenn das Bild hochgeladen ist auch einen Link zum Bild anzeigen.
Es sollte die möglichkeit bestehen auch 10 bilder gleichzeitig hochladen zu können.
Wie willst du feststellen können das ein Bild doppelt ist?
Am Dateinamen ist das schwirig da man diesen ja sehr leicht ändern kann. Du kannst den Hochgeladenen Dateien auch automatisch eine Fortlaufende Nummer geben damit Dateinamenkonflikte vermiden werden.
Ob eine Datei existiert ist doch kein Problem mit file_exists()
Ich habe mal ein kleines Script geschrieben. Zu sehen hier: http://hummer.bplaced.net/uploadpic/
Hier eine kleine funktion welche die Größe eines Verzeichnisses ermittelt, und rekusiv auch die Unterverzeichnisse mit einbezieht.
Ob versteckte Dateien mit einbezogen werden weiß ich nicht, hab ich nicht getestet und überhaupt ob es dafür ne einfachere Methode gibt weiß ich nicht :3.
Um den Byte-Wert in Mega Byte umzurechnen musst du einfach zweimal durch 1024 teilen.
");
if(isset($_GET["delete"]))
{echo(" Wollen sie die Datei ".$_GET['delete']." wirklich löschen? Ja | Nein doch nicht
");}
if(isset($_GET["delete2"])){$somefile = $_GET["delete2"];unlink($somefile);header("location:?bilder");}
?>[/quote]
Bei mir funktioniert das löschen nicht. Woran liegt das?
Erstens:
Da fällt mir nur auf, dass der Link natürlich nicht ganz stimmt:
Wenn die Datei “bild.jpg” heißt, würde der so nachher beim unlink natürlich versuchen bild.jpg im Verzeichniss zu löschen, in dem das Script liegt.
Damit es beim unlink passt am besten direkt dort ändern:
Zweitens:
am ende muss noch ein Leerfeld im header() befehl, dass es so ausschaut:
Davon mal abgesehen funktioniert der header() Befehl an dieser Stelle nicht, da vorher im Script bereits die Ausgabe begonnen hat.
Drittens:
Das Script ist absolut unsicher!
Es hindert niemanden daran einfach folgende URL aufzurufen:
"?bilder&delete2=…/…/…/checkuser.inc.php"
und deine Scriptdatei wäre unmittelbar gelöscht.
Ich an deiner Stelle würde jede hochgeladene Datei in einer Tabelle eintragen lassen, und die Dateien über die eindeutigen IDs abrufen und löschen.