使用PHP删除文件onclick

Cod*_*ver 4 php unlink

我想在用户点击删除链接时删除文件.但是当我进入我的页面时,该文件被删除,我不知道为什么:

echo '<h3><a onclick="'.unlink(__FILE__).'">Delete Now!</a></h3>';
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Joc*_*lyn 7

当用户单击链接时,此代码将删除当前文件:

<h3><a href="?delete=1">Delete Now!</a></h3>

<?php
    if(isset($_GET['delete']))
    {
        unlink(__FILE__);
    }
?>
Run Code Online (Sandbox Code Playgroud)

如果您更喜欢使用POST而不是GET方法,请使用以下代码:

<form method="post">
   <input name="delete" type="submit" value="Delete Now!">
</form>    

<?php
    if(isset($_POST['delete']))
    {
        unlink(__FILE__);
    }
?>
Run Code Online (Sandbox Code Playgroud)


eus*_*soj 5

您需要通过Javascript加载此操作.如果你正在使用jQuery,你不能尝试这样的东西

你的Javascript

<script type="text/javascript">

$('.delete').live('click',function(){ 
  deleteFile( $(this).attr('id') );
});

function deleteFile(id){
    $.ajax({
        url: 'deletefile.php?fileid='+id,
        success: function() {
            alert('File deleted.');
        }
    });
}
</script>
Run Code Online (Sandbox Code Playgroud)

你的deletefile.php看起来像那样.

<?php
    $fileid = $_GET['fileid'];
    //HERE IS THE LOGIC TO FIND THE PATH OF YOUR FILE
    unlink($file); //You can add more validations or full paths
?>
Run Code Online (Sandbox Code Playgroud)

您的链接必须具有以下结构

printf("<a id='%s' class='delete'>Delete</a>",$youridfile);
Run Code Online (Sandbox Code Playgroud)

  • 我知道这已经超过3年了,但实时命令已被弃用.更好用.on() (2认同)