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

Iko*_*ong 1 html javascript php

我有一个代码,如果我想删除目录中的文件将提示.页面刷新时出现问题,它只会在没有提示选择的情况下删除文件.即使页面刷新,我也不想删除文件.

<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>
Run Code Online (Sandbox Code Playgroud)

这是调用函数的代码

<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>
Run Code Online (Sandbox Code Playgroud)

jcu*_*bic 5

你不能像这样从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
}
Run Code Online (Sandbox Code Playgroud)

和javascript中的ajax,如果你使用jQuery它会是这样的

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

或者你可以将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
    }
}
Run Code Online (Sandbox Code Playgroud)

并在javascript中只放置确认代码:

function checkMe() {
    return confirm("Are you sure");
}
Run Code Online (Sandbox Code Playgroud)

当您单击链接并确认返回true时,浏览器将按照链接执行php代码.

  • 您应该指定您正在使用jQuery (3认同)