Php 如何在单击跨距并确认删除时删除文件

Php 如何在单击跨距并确认删除时删除文件,php,unlink,Php,Unlink,我正在从服务器上的文件夹生成文件列表。现在我想允许用户在点击垃圾箱按钮时从服务器上删除文件 我无法做到这一点,也不知道如何在删除前显示删除确认 PHP for($index=0; $index<$count; $index++){ $name = $filelist[$index]; $extn = findexts($filelist[$index]); $size = human_filesize(filesize('./storage/'.$filelist[

我正在从服务器上的文件夹生成文件列表。现在我想允许用户在点击垃圾箱按钮时从服务器上删除文件

我无法做到这一点,也不知道如何在删除前显示删除确认

PHP

for($index=0; $index<$count; $index++){
    $name = $filelist[$index];
    $extn = findexts($filelist[$index]);
    $size = human_filesize(filesize('./storage/'.$filelist[$index]));
    $thelist .= '<li><span class="type">'.$extn.'</span><span class="link"><a href=./storage/'.$name.'>'.$name.'</a></span><span class="size">'.$size.'</span><a href=delete.php?delete='.$name.'><span class="fa fa-trash-o fa-fw" aria-hidden="true"></span></a>
</li>';
}
<?php
    if(isset($_GET['delete']))
    {
        unlink(__FILE__);
    }
?>
用于($index=0;$index链接


脚本:

<script>
  function delfile(){
    var c   =document.getElementById("test").href;
    alert('are you sure you want to delete?');
    var filename = c.replace(/^.*[\\\/]/, '');
    var redirect_path = 'delete.php?file_name='+filename;
    window.location.href=redirect_path;
 }
</script>

函数delfile(){
var c=document.getElementById(“测试”).href;
警报('您确定要删除吗?');
var filename=c.replace(/^.[\\/]/,“”);
var redirect_path='delete.php?file_name='+文件名;
window.location.href=重定向路径;
}
现在开始删除php,通过获取文件名来删除您的文件

PHP


链接


脚本:

<script>
  function delfile(){
    var c   =document.getElementById("test").href;
    alert('are you sure you want to delete?');
    var filename = c.replace(/^.*[\\\/]/, '');
    var redirect_path = 'delete.php?file_name='+filename;
    window.location.href=redirect_path;
 }
</script>

函数delfile(){
var c=document.getElementById(“测试”).href;
警报('您确定要删除吗?');
var filename=c.replace(/^.[\\/]/,“”);
var redirect_path='delete.php?file_name='+文件名;
window.location.href=重定向路径;
}
现在开始删除php,通过获取文件名来删除您的文件

PHP



不要这样做。如果您的浏览器决定提供帮助并预取页面上的所有链接,您将自动删除为其设置删除链接的每个文件。这是一个非常糟糕的设计。千万不要将导致更改自己的脚本放在“GET”上-键入url。
\uuuuu文件
将解析为您的
delete.php
,因此您将自动取消删除其他文件所需的脚本。这将尝试删除当前文件!?O_o@MarcB我不知道该怎么办。你能帮我吗?简单/愚蠢/危险:
unlink($\u GET['delete']))
,但是如果有什么东西开始破坏此页面,您仍然会受到意外的大量删除。您需要有一个正确的确认页面,使用POST确认删除的完整往返表单提交,然后在POST情况下确认后才执行删除。这意味着您要求我执行POST请求?不要这样做。如果您的浏览器决定帮助并预取页面上的所有链接,您将自动删除为其设置删除链接的每个文件。这是一个非常糟糕的设计。千万不要将导致更改自己的脚本放在“GET”上-键入url。
\uuuuu文件
将解析为您的
delete.php
,因此您将自动取消删除其他文件所需的脚本。这将尝试删除当前文件!?O_o@MarcB我不知道该怎么办。你能帮我吗?简单/愚蠢/危险:
unlink($\u GET['delete']))
,但是如果有什么东西开始破坏此页面,您仍然会受到意外的大量删除。您需要有一个正确的确认页面,使用POST确认删除的完整往返表单提交,然后在POST情况下确认后才执行删除。这意味着您要求我执行POST请求?在我的代码中,如何获取id?因为我直接从文件夹而不是数据库中列出文件。是否有关于您存储在数据库中的图像的任何信息?这些不是存储在数据库中的图像。这些可以是存储在服务器上文件夹中的任何文件。我只是在页面中列出文件,并可以选择删除它们。我认为您是我应该看一下我的完整代码,看看我是如何获取文件的。检查这里:在我的代码中如何获取id?因为我直接从文件夹而不是从数据库列出文件。是否有关于存储在数据库中的图像的任何信息?这些不是正在存储的图像。这些可以是存储在服务器上文件夹中的任何文件。我是just在页面中列出文件并选择删除它们。我认为您应该查看我的完整代码一次,以了解我是如何获取文件的。请检查此处:
<?php

if($_REQUEST['file_name']){
    $filename=$_REQUEST['file_name'];
    unlink(filename,context);
}
?>