Hi!
Folgende Änderung funktioniert, ist das so o.k.?
Wenn es funktioniert kann es schon mal nicht ganz verkehrt sein, oder? Verbessern kann man immer noch ...
$datei = $_POST['del'];
Es ist nicht nötig, Array-Inhalte in Variablen umzukopieren. Du kannst genauso gut gleich $_POST['del'] verwenden.
if(file\_exists('doku/pdf/' . $datei)) @unlink('doku/pdf/' . $datei);
Hier findet keine Prüfung statt, ob sich die zu löschende Datei tatsächlich im gewollten Verzeichnis befindet. Man kann trotz Vorsatz immer noch mit Konstrukten wie ../ das Verzeichnis verlassen. Ermittle mit realpath('doku/pdf/' . $_POST['del']) den wirklichen Dateinamen und vergleiche dessen dirname() mit dem von dir vorgegebenen Verzeichnis. Außerdem kann man so immer noch Dateien wie die .htaccess löschen. Löschen ist eine Schreiboperation im Verzeichnis, egal was sich darin befindet und welche Rechte die einzelnen Dateien haben. Wenn du das nicht willst, solltest du weitere Bedingungen - vielleicht die Dateiendung - prüfen.
Lo!