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

时间:2013-06-24 08:01:46

标签: php javascript html

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

<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>

1 个答案:

答案 0 :(得分: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
}

和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代码。