1

ディレクトリ内のすべてのファイルを一覧表示するスクリプトを作成しています。ユーザーは、ファイルの1つを削除する場合は、チェックボックスをオンにすることができます。これまでに作成したスクリプトは次のとおりです。次のステップは、ページがリロードされるときのフォームの投稿で、投稿のdelete $ iを繰り返し処理し、チェックされた関連ファイルのリンクを解除(削除)します。しかし、私はphpにかなり慣れていないので、これを行う方法がよくわかりません。ディレクトリにはさまざまな数のファイルが存在する可能性があり、チェックしたファイルのみを削除したいと思います。これを実現するためのヒントをいただければ幸いです。

//directory to list the files from
$directory = "";

//get all image files
$files = glob($directory . "*.*");

echo "<h2>Files available:</h2>";
echo "<ul>";
echo "<form action=\"\" method=\"post\">";
echo "<input type=\"hidden\" name=\"delete\" value=\"true\" />";

//interger count
$i = 0;

//print each file name except index.php
foreach($files as $file) {
    if ($file != "index.php") {
        echo "<li><input type=\"checkbox\" name=\"delete{$i}\" value=\"{$file}\" /> <a href=\"http://files.abc.com/{$file}\">http://files.abc.com/" . $file . "</a></li>";
        $i++;
    }
}
echo "<li><input type=\"submit\" value=\"Delete Selected Files\" /></li>";
echo "</form>";
echo "</ul>";
4

1 に答える 1

1

値を送信した後、 Dagonに同意します..次のようにするだけです:

if(isset($_POST["delete"])) {
    foreach($_POST["delete"] as $val) {
        unlink($val);
    }
}
于 2012-05-31T20:57:02.853 に答える