1

ディレクトリ内のファイルを削除するかどうかを確認するコードがあります。ページが更新されると問題が発生します。プロンプトを選択せず​​にファイルを削除するだけです。ページが更新されてもファイルを削除したくありません。

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

1 に答える 1

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 コードを実行します。

于 2013-06-24T08:06:09.300 に答える