У вас есть много входов с одинаковым именем.Когда вы отправляете форму, значение $_POST['file_name']
будет значением последнего ввода с именем file_name
.Вот почему он всегда удаляет последний файл.
Я бы предложил использовать кнопку вместо ввода.Таким образом, вы можете присвоить значение кнопке, чтобы вы могли легко получить значение нажатой кнопки в $_POST
.
<?php echo $file ?>
<button type="submit" name="delete_file" value="<?php echo $file ?>">
Delete File
</button>
Затем в вашем обработчике отправки:
if(isset($_POST['delete_file']))
{
// now the submit button has a value of the file name to delete
$file_name = $_POST['delete_file'];
// ...
Я бы также предложил проверить имя файла, чтобы убедиться, что оно действительно должно быть удалено.Таким образом, кто-то может опубликовать любое значение, которое он хочет, и потенциально удалить то, что не должно быть удалено.