Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    23

    eliminare cartelle per data

    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

  2. #2
    rmdir

    Utilizzi questa funzione per eliminare le cartelle in base al nome. Come nome metti la data in cui sono state create.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    23
    E se io volessi eliminare in automatico la cartella del giorno prima, cosa devo scrivere:
    rmdir($date-1)


  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    23
    un aiutino????

  5. #5
    esponi il problema... altrimenti che aiutino vuoi?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    23
    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

  7. #7
    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)
    Codice 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
        } 

    ?>
    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 eliminazione

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    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);

    ?>

  9. #9
    Originariamente inviato da clasku
    uno spunto... funziona solo se hai già svuotato la cartella da cancellare
    ma la mia era una funzione recursiva che gli eliminava anche questo problema...

  10. #10
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Originariamente inviato da oly1982
    ma la mia era una funzione recursiva che gli eliminava anche questo problema...
    si, abbiamo postato insieme, sono della filosofia che le cose devono anche essere cercate però...
    gli volevo dare uno spunto per il nome della cartella...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.