как отсоединить файл в цикле 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>

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

0

Решение

Метод, описанный ниже, на 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;
}
1

Другие решения

Я использую путь unlink (ФАЙЛ)
echo $ new_file_dert = ФАЙЛ . «/’.$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 = ФАЙЛ . «/’.$template_name;

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

По вопросам рекламы [email protected]