allora per il codice che ho utilizzato...ho ommesso le parti di codice che non interessavano:
come puoi vedere ho utilizzato la funzione setCheckboxes(the_form, do_check) per selezionare tutti i checkbox(o deselezionarli).
con la funzione conferma() confermo oppure no l'azione richiesta(cancellare i file o meno).
Codice PHP:
<html>
<head>
<script type="text/javascript">
//<![CDATA[
function setCheckboxes(the_form, do_check)
{
var elts = (typeof(document.forms[the_form].elements['check[]']) != 'undefined')
? document.forms[the_form].elements['check[]']
:0;
var elts_cnt = (typeof(elts.length) != 'undefined')
? elts.length
: 0;
if (elts_cnt) {
for (var i = 0; i < elts_cnt; i++) {
if (document.forms[the_form].checkall.checked==true) elts[i].checked = true;
else elts[i].checked = false;
}
} else {
elts.checked = do_check;
}
return true;
}
function conferma() {
//if (document.getElementById('valida').checked) {
var checkboxes = document.delform.elements['check[]']; //array di checkboxes
for (i=0;i<checkboxes.length;i++) {
if (checkboxes[i].checked==true) {
if (confirm('Sei sicuro di cancellare i file selezionati?')){
return true;
}
else {
alert ("Richiesta Annullata!");
window.location = "index.php";
return false;
}
}//end checked
else if (i == checkboxes.length-1) alert ("Non hai selezionato alcun file!");
}//end for
}
//]]>
</script>
</head>
<body>
<?
$ext_ammesse=array('.jpg','.jpeg','.gif','.png');
$cartella="http://forum.it.altervista.org/images/sub1/";
$attempt=false;
echo "<p></p>Lista File presenti nella cartella ==> ".$cartella."<p></p>";
if ($_POST['cancella']) {
if ( is_array($_POST) ) {
$check='';
$check=$_POST['check'];
if (!empty($check)) {
//$files = glob($cartella.'*.*');
$files=glob(''.$cartella.'*.*')?glob(''.$cartella.'*.*'):array();
foreach (glob(''.$cartella.'*.*') as $file_name) {
echo "$file_name size ==> " . filesize($file_name) . "<br>";
//array_push($array_lista_file,$file_name);
}
}//end !empty
else echo "Non hai selezionato alcun file!";
foreach ($check as $file_name)
{
//$file_name non è array
//array_push($array_file_name,$file_name);
if(in_array($cartella.$file_name, $files)) {
if (file_exists($cartella.$file_name))
{
if (unlink($cartella.$file_name)) echo "<br>Il File è stato cancellato ==> ".$file_name;
else echo "<br>Impossibile cancellare il File";
}
else echo "<br>Il File non esiste";
}//end in_array
else $attempt=true;
}//end foreach
}//end is_array
else $attempt=true;
}//end $_POST['cancella']
if (!$attempt) {
function visualizzafile($cartella,$ext_ammesse){
$array_file=Array();
if(file_exists($cartella)){
$handle = opendir($cartella);
while (false !== ($file = readdir($handle))) {
if(is_file($cartella.$file)){
$estensione = strtolower(substr($file, strrpos($file, "."), strlen($file)-strrpos($file, ".")));
if(in_array($estensione,$ext_ammesse)){
array_push($array_file,$file);
}
}
}
$handle = closedir($handle);
}
shuffle($array_file); //mescola ordine array in modo casuale
return $array_file;
}
//$ext_ammesse=array('.jpg','.jpeg','.gif','.png');
//$cartella="http://forum.it.altervista.org/images/";
$array_file=visualizzafile($cartella,$ext_ammesse);
$n_elementi=count($array_file); //se si vogliono visualizzare tutte le immagini contenute nella cartella: $n_elementi=count($array_immagini);
?>
<p></p>
<form action="index.php" method="post" name="delform">
<table>
<tr><td width="200px">Check/UnCheck All ==>
</td><td>
<input name='checkall' type='checkbox' onclick="javascript: return setCheckboxes('delform', true)">
</td></tr>
<?
for($a=0;$a<$n_elementi;$a++){
?>
<tr><td width="200px"><img src="<?=$cartella.$array_file[$a]?>" border="0">
</td><td><input type='checkbox' name='check[]' value='<?=$array_file[$a]?>' id='valida' onclick="">
</td></tr>
<?
}
?>
</table>
<p></p>
<input type="submit" value="Cancella" name="cancella" onclick="javascript: return conferma();">
</form>
<?
}
else echo "Hack Attempt!";
?>
</body>
</html>