如何正确删除目录中的文件


How to properly delete files in directory

如果我想删除目录中的文件,我有一个代码会提示。当页面刷新时会出现问题,它只会删除文件而不进行提示选择。即使页面刷新,我也不想删除这些文件。

<script language="javascript">
function checkMe() {
    if (confirm("Are you sure")) {
        alert("Clicked Ok");
        <?php                   
            $files = glob('d:/pics/*'); // get all file names
            foreach($files as $file){ // iterate files
            if(is_file($file))
            unlink($file); // delete file
            }
        ?>
        return true;
    } else {
        alert("Clicked Cancel");
        return false;
    }
}
</script>

这是调用函数的代码

<a href='index.php?main=add-doc' class='footer-img' onclick='"return checkMe();'"><div class='record'><img src='images/download.png' style='position: relative; margin: auto;'/>Upload Record</div></a>

您不能像那样从javascript调用php,php将始终执行。您想要的是Ajax。

file.php

$files = glob('d:/pics/*'); // get all file names
foreach($files as $file){ // iterate files
    if(is_file($file))
        unlink($file); // delete file
}

和javascript中的ajax,如果您使用jQuery,它将类似于

function checkMe() {
    if (confirm("Are you sure")) {
        $.get('file.php', function() {
            //ignore
        });
    }
}

或者你可以把php放在index.php文件中并检查:

if (isset($_GET['main']) && $_GET['main'] == 'add-doc') {
    $files = glob('d:/pics/*'); // get all file names
    foreach($files as $file){ // iterate files
        if(is_file($file))
            unlink($file); // delete file
    }
}

并且在javascript中只放入确认代码:

function checkMe() {
    return confirm("Are you sure");
}

当您单击链接并确认返回true时,浏览器将跟随链接并执行php代码。