Cancellazione records da due tabelle e cartelle .... come??

Ho uno script che mi cancella i record da due tabelle una principale (notizie) e l'altra correlata (allegati) ... lo script è il seguente:

/* ------------------ Se in comando è CANCELLA NOTIZIA ----------------- */

case 'cancella':

/* Cancello prima gli allegati collegati alla notizia  */
$query = "DELETE FROM mod_allegati WHERE notizielink_file = 'Y' AND idpadre_file = $idnotizia"; 
$result = mysql_query($query);
$number = mysql_num_rows($result);

/* Cancello il bando vero e proprio  */
$query2 = "DELETE FROM mod_notizie WHERE id_notizia = $idnotizia"; 
$result2 = mysql_query($query2);
$number2 = mysql_num_rows($result2);

/* Ridireziona il browser  */
header("Location: notizie_edit_del.php"); 

break;

}

Lo script funziona ma avrei anche la necessità di cancellare delle cartelle (con tutto il contenuto) sul server:

- una prima cartella (se esiste) che ha il nome dell'id_notizia presente nel db;

- e altre cartelle (se esistono ma variabili nel numero) che hanno come denominazione il contenuto del campo id_file.

Ho trovato questo script

<?php

function remove_directory($dir) {
  if ($handle = opendir("$dir")) {
    while (false !== ($item = readdir($handle))) {
      if ($item != "." && $item != "..") {
        if (is_dir("$dir/$item")) {
          remove_directory("$dir/$item");
        } else {
          unlink("$dir/$item");
          echo " removing $dir/$item<br>\n";
        }
      }
    }
    closedir($handle);
    rmdir($dir);
    echo "removing $dir<br>\n";
  }
}

remove_directory("/path/to/dir");

?>

Mi aiutate ad implementarlo .. ovviamente se secondo voi va bene.

inviato 9 anni fa
ninext
X 0 X

Ti posso aiutare dicendoti che io la cancellazione di un file la faccio così

$root="/www/htdocs/miosito/";

// $foto è il nome del file da cancellare (ovviamente posso ricavarlo da un'interrogazione al DB

$path="$root/$foto";

unlink($path);
risposto 9 anni fa
Samleo
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda