Newsgroup: it.comp.www.php
Titolo: Tpulire un folder

Ciao a tutti,
sto cercando di risolvere un problema ma con scarsi risultati
Il problema deriva dal mio CGI che produce un piccolo file di database in
una determinata directory ogni volta che un visitatore entra nel sito.
Questo file di database serve a tenere traccia di eventuali acquisti che il
visitatore fa e se non acquista nulla o dopo che è uscito e non più
rientrato da un certo tempo il CGI dovrebbe eliminare il file ma spesso non
riesce nell'eliminazioni e così mi trovo a dover fare uso spessissimo del
mio FTP per cancellarli manualmente.
E' una perdida di tempo necessaria perchè il mio cgi se ci sono troppi files
da lui fatti crea spesso un bel SERVER ERROR.
Mi chiedo:
esiste in PHP una funzione che verifichi le date e l'ora di questi piccoli
files e mi aiuti a cancellarli automaticamentese sono troppo vecchi?
Grazie
Steel

 files e mi aiuti a cancellarli automaticamentese sono troppo vecchi?
Ci sono le funzioni che leggono la data di ultima modifica (filemtime()) e 
quelle per cancellare il file (unlink()).
Sta a te fare lo script che li faccia funzionare insieme.
Ciao
Marco 

...

OK! posso provarci ma mi manca una cosa ancora
Come faccio che non ho e non posso avere il nome del files?
Mi occorre che lo script mi ritorni in un array il nome di tutti i files di
quella data directory per poi analizzarli uno per uno.
E' qui che mi blocco di più
Poi per cancellarli il server dice niente?(Nel senso se vuole una password)
Grazie
Steel

http://it.php.net/readdir
http://it.php.net/manual/it/function.stat.php
http://it.php.net/manual/it/function.unlink.php
http://it.php.net/manual/it/function.time.php
Saluti.
-- 
----
Leonardo Armando Iarrusso - J2Be
www: 
http://www.J2be.com
 - e-mail: info[at]J2Be.com 


Io di PHP non capisco nulla
1)
Se inserisco questo codice cosa succede?
2)
Il visitatore vede questo codice?
Steel

 Se inserisco questo codice cosa succede?
Questo non è codice, è un elenco di link del manuale di php, con le funzioni 
che devi usare...
Ciao
Marco 

OK!
Volendo cancellare tutti i files di una directory  senza avere un echo
Se inserisco questo codice cosa succede?
<?php
if ($handle = opendir('./cgi-bin/sessions')) {
   while (false !== ($file = readdir($handle))) {
   unlink($filename);
}
   }
   closedir($handle);
}
?>

 Se inserisco questo codice cosa succede?
Cancelli i file della directory sessions, ammesso che tu abbia i permessi 
per farlo.
Inoltre aggiungerei un bel test sul nome del file, per evitare spiacevoli 
inconvenienti:
if ($file != "." && $file != "..")
    unlink($file);
Ciao
Marco 


Grazie infinite
Ho fatto la correzione come hai detto tu e ho scritto:
<?php
if ($handle = opendir('./cgi-bin/sessions')) {
   while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".."){
   unlink($filename);}
}
   }
   closedir($handle);
}
?>
Adesso perň vorrei sapere
1)
Io avevo scritto Filename mentre tu scrivi File
E' lo stesso o č meglio l'uno o l'altro?
2)
Come faccio per i permessi sapendo che il sito č il mio?
Grazie
Steel


L'ho anche provato esattamente cosě
<?php
if ($handle = opendir('./cgi-bin/sessions')) {
   while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..")
 {unlink($file);}
   }
   closedir($handle);
}
?>
Ma NON mi cancella nulla e mi risponde:
Warning: unlink(0CE87V83m71.dbf): No such file or directory in
/web/htdocs/
www.miosito.com/home/dir.php
 on line 13
Warning: unlink(0CE87V83m71.fpt): No such file or directory in
/web/htdocs/
www.miosito.com/home/dir.php
 on line 13
Warning: unlink(0CE87V83m71.cdx): No such file or directory in
/web/htdocs/
www.miosito.com/home/dir.php
 on line 13
Warning: unlink(sessions.dbf): No such file or directory in
/web/htdocs/
www.miosito.com/home/dir.php
 on line 13
Warning: unlink(7112F618272.dbf): No such file or directory in
/web/htdocs/
www.miosito.com/home/dir.php
 on line 13
Warning: unlink(7112F618272.fpt): No such file or directory in
/web/htdocs/
www.miosito.com/home/dir.php
 on line 13
Warning: unlink(7112F618272.cdx): No such file or directory in
/web/htdocs/
www.miosito.com/home/dir.php
 on line 13
Forse č per via dei permessi?
Con il FTP li ho settati write e la directory pure
Grazie
Steel

 Come faccio per i permessi sapendo che il sito è il mio?
Puoi provare a rimuoverli e vedi se funziona. :-)
Scherzi a parte, il discorso è articolato.
I file che tu trasferisci via FTP hanno come proprietario il tuo utente.
Ma i file creati dal server, in genere, hanno come proprietario il server 
stesso.
Ciao
Marco 

 /web/htdocs/
www.miosito.com/home/dir.php
 on line 13
Prova a specificare l'intero percorso del file nel unlink(), e non solo il 
nome.
Qui non è un problema di permessi, ma proprio non trova il file.
Probabilmente lo cerca nella directory corrente dello script php.
Ciao
Marco

 /web/htdocs/
www.miosito.com/home/dir.php
 on line 13
Prova a specificare l'intero percorso del file nel unlink(), e non solo il
nome.
Qui non č un problema di permessi, ma proprio non trova il file.
Probabilmente lo cerca nella directory corrente dello script php.
Ciao
Marco
Cosě:?
<?php
if ($handle = opendir('./cgi-bin/sessions')) {
   while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..")
 {unlink('./cgi-bin/sessions/'+$file);}
   }
   closedir($handle);
}
?>
Ciao
Steel

 }
Esatto.
unlink("./cgi-bin/sessions/" . $file);
Se non va, fai un pò di verifiche sulla directory di lavoro con getcwd().
Oppure cambia il percorso con chdir().
Ciao
Marco 

Grazie infinite!
Sei stato molto gentile e di grande aiuto
Ciao
Steel