Как отсоединить файл в цикле foreach с постом

Для управления файлами я использую foreach цикл, в котором отображаются все файлы. Теперь хочу foreach удалить файлы с $_POST,

Когда я эхом pathinfo($dir.'/'.$file, PATHINFO_DIRNAME).'/'.$file; в foreach рядом с каждым файлом указывается точное местоположение файлов. Теперь для каждого файла я хочу сделать что-то подобное в foreach цикл:

if(isset($_POST['delete'])) {
    unlink($_POST['unlink']);
}
<form method="post">
            <input type="hidden" name="unlink" value="<?php pathinfo($dir.'/'.$file, PATHINFO_DIRNAME).'/'.$file; ?>" />
            <input type="submit" name="delete"  value="Delete">
         </form>

Я знаю, что это не правильно, но я надеюсь, вы понимаете, что то, чего я хочу достичь, ясно. Как я могу это сделать?

2 ответа

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Метод, описанный ниже, на 100% небезопасен, и если код переходит в общедоступную область, вы можете попрощаться со своим сервером.


Для удаления одного файла вы можете сделать это:

index.php

<form method="POST" action="delete.php">
    <input type="hidden" name="delete_path" value="/path/to/your/file.pdf">
    File.pdf <button type="submit">Delete</button>
</form>

delete.php

<?php
$delete_result = false;
$unlink_error = '';

if(isset($_POST['delete_path']) && is_file($_POST['delete_path']))
{
    $delete_result = unlink($_POST['delete_path']);
    $unlink_error = error_get_last();
}

if($delete_result)
{
    echo 'Successfully deleted '.$_POST['delete_path'];
}
else
{
    echo 'Uh oh, Spaghettios :(<br><br>';
    echo 'Last known error<br>'.$unlink_error;
}

Я использую путь unlink (FILE) echo $ new_file_dert = FILE. "/'.$template_name;

                            <form method="post">
                                <input type="hidden" name="unlink" value="<?php echo $new_file_dert; ?>" />
                                <input name="delete" type="submit" class="btn-delete submitdelete" value="Delete">
                            </form>    



                         <?php

echo $ new_file_dert = FILE. "/'.$template_name;

                             if( isset( $_POST['delete'] ) ) {
                                 unlink($_POST['unlink']);



                             }
Другие вопросы по тегам