Ho la necessità di eliminare delle cartelle per data, o meglio ogni giorno creo una cartella per data e quindi devo cancellare quella del giorno prima.
Grazie
Ho la necessità di eliminare delle cartelle per data, o meglio ogni giorno creo una cartella per data e quindi devo cancellare quella del giorno prima.
Grazie
rmdir
Utilizzi questa funzione per eliminare le cartelle in base al nome. Come nome metti la data in cui sono state create.
E se io volessi eliminare in automatico la cartella del giorno prima, cosa devo scrivere:
rmdir($date-1)
![]()
un aiutino????![]()
![]()
esponi il problema... altrimenti che aiutino vuoi?
Ho due webcam che su due cartelle diverse mi creano una cartella per giorno, le sottocartelle per ora e i file dello scatto ogni x minuti.
Vorrei creare un qualcosa che ogni giorno in automatico con un file php mi cancelli le cartelle del giorno prima.
grazie
questa è una delle millemila funzioni per eseguire il delete della cartella con tutto il contenuto presente su php.net (è una funzione di tipo recursivo... fai delle ricerche per capire cosa significa)
Per effettuarla una volta al giorno puoi impiegare i cron jobs o (cosa che farei io) appoggiandomi su un db mysql e verificare se nella data odierna sia stata o meno eseguito la funzione di eliminazioneCodice PHP:
<?php
function deleteAll($directory, $empty = false) {
if(substr($directory,-1) == "/") {
$directory = substr($directory,0,-1);
}
if(!file_exists($directory) || !is_dir($directory)) {
return false;
} elseif(!is_readable($directory)) {
return false;
} else {
$directoryHandle = opendir($directory);
while ($contents = readdir($directoryHandle)) {
if($contents != '.' && $contents != '..') {
$path = $directory . "/" . $contents;
if(is_dir($path)) {
deleteAll($path);
} else {
unlink($path);
}
}
}
closedir($directoryHandle);
if($empty == false) {
if(!rmdir($directory)) {
return false;
}
}
return true;
}
}
?>
uno spunto per individuare il nome della cartella da cancellare...
funziona solo se hai già svuotato la cartella da cancellare, per il resto, guarda quella di oly1982
Codice PHP:
<?php
// la dir di oggi
$dir_create = date('Ymd');
// quella di ieri da cancellare: 86400 sono i secondi di un intero giorno
$dir_delete = date('Ymd', mktime()-86400);
//creo la cartella di oggi
mkdir($dir_create);
// cancello quella di ieri
rmdir($dir_delete);
?>
ma la mia era una funzione recursiva che gli eliminava anche questo problema...Originariamente inviato da clasku
uno spunto... funziona solo se hai già svuotato la cartella da cancellare
si, abbiamo postato insieme, sono della filosofia che le cose devono anche essere cercate però...Originariamente inviato da oly1982
ma la mia era una funzione recursiva che gli eliminava anche questo problema...
gli volevo dare uno spunto per il nome della cartella...![]()