Hi, stimmt das hatte ich vergessen. Jetzt geht es

Hier man alles zusammen:
PHP-Code:
<?php
$verzeichnis = "fotos/mannschaftsfotos/";
$ordner = openDir($verzeichnis);
$bilder = array();
while ($file = readDir($ordner)) {
if ($file != "." && $file != ".." && !is_dir($file)) {
if (strstr($file, ".png") || strstr($file, ".gif") || strstr($file, ".jpg") || strstr($file, ".jpeg")) {
$info = getImageSize($verzeichnis . $file);
array_push($bilder, array(fileMtime($verzeichnis . $file) ,
$verzeichnis . $file , $info[0] , $info[1]));
}
}
}
closeDir($ordner);
rsort($bilder);
echo "<form action='bilder-loeschen.php' method='post'>";
echo "<select name='bildnamen' size='3' multiple>";
$zahl = 1;
foreach ($bilder as $zaehlen => $element) {
if ($zaehlen <= 20) {
echo "<option value='" . $element[1] . "'>" . $element[1] . "</option>";
}
}
echo "</select>";
echo "<input type='submit' value='Absenden'>";
echo "</form>";
?>
Und die Auswertung:
PHP-Code:
<?php
$bildname = $_POST['bildnamen'];
if(unlink($bildname)) {
echo "<p>Folgendes Bild wurde erfolgreich gelöscht:</p>";
echo "<p>" . $bildname . "</p>";
} else {
echo "Da ist was schiefgelaufen";
}
?>
Aber ich hab immer noch nicht rausbekommen, wie man das nun sicherer machen kann.
Geht das vllt so:
PHP-Code:
if (in_array($bildname, $bilder)) {
if(unlink($bildname)) {
echo "<p>Folgendes Bild wurde erfolgreich gelöscht:</p>";
echo "<p>" . $bildname . "</p>";
} else {
echo "Da ist was schiefgelaufen";
}
} else {
Dieses Bild ist nicht in dem Ordner vorhanden.
}
Weil so
prüft man das ja, aber ich weiß nicht, ob in $bilder der komplette Pfad angegeben wird.
Außerdem ist hier das problem, dass $bilder ja gar nicht mehr vorhanden ist, da es eine andere Datei ist.