Newsgroup: it.comp.www.php
Titolo: Cancellazione automatica files dopo tot giorni da ftp

Salve, come da oggetto avrei questa necessita':
su un hosting gratuito (al momento ho scelto altervista) mi servirebbe 
effettuare degli upload di immagini da una ip camera. Ovviamente lo 
spazio non e' infinito, per questo mi servirebbe uno script (mi hanno 
consigliato il php) che mi cancelli i file dopo tot giorni in 
automatico, in modo da liberare spazio per le nuove immagini.
E' possibile oppure chiedo troppo?
Grazie anticipatamente per le risposte.

Il 26/01/12 11:07, Ciccio® ha scritto:

Salve, nessuno risponde, e' davvero cosi' difficile?
Sono disposto anche a pagare, fate le vostre offerte.
Se non sono stato chiaro lo script deve scansionare tutti i file 
presenti sull'ftp di altervista (cartelle e sottocartelle varie), 
leggere la data di creazione dei file ed eliminare tutti quelli piu' 
vecchi di X giorni. Ovviamente questo script dovrebbe essere 
automatizzato, ovvero dovrebbe partire da solo almeno una volta al giorno.

 Salve, nessuno risponde, e' davvero cosi' difficile?
 
Non e' difficile, semplicemente non si puo' fare con gli strumenti che 
dici. Il metodo corretto e' usare uno script magari in perl (ma anche in 
php se proprio vuoi) ma deve essere lanciato tramite cron altrimenti 
nessuno lo eseguira' in automatico una volta al giorno. Dubito che gli 
hosting gratuiti ti permettano di farlo.
 
Ciao.
 
-- 
Pubblicita' regresso: 
http://www.ferrero.org
 
** Per scrivermi in mail, sostituire nutella con ferrero...
** To contact me by email, change nutella to ferrero...
 

 hosting gratuiti ti permettano di farlo.
 
E inserendo lo script in un iframe su una pagina html che viene aperta 
almeno una volta al giorno?
 

 almeno una volta al giorno?
 
È una contorsione notevole. 
 
 
Dividi il problema:
- cancellare i file in maniera automatica
- esecuzione del programma creato al punto precedente.
 
Per il primo punto scrivi un programma nel modo che preferisci, come un 
linguaggio di scripting qualsiasi (PHP è tra questi) e una libreria FTP. 
L'esempio più banale è usare ftp e expect
 
Per il secondo punto usi un sistema di scheduling qualsiasi ad esempio 
cron, at o quel che sia.

 cron, at o quel che sia.
 
Il problema e's empre lo stesso: io non so farlo!
Sono disposto a pagare qualcuno dato che si tratta di qualcosa di 
difficoltoso...ma nessuno si offre.
 

 difficoltoso...ma nessuno si offre.
 
ma lol non hai nemmeno un hosting a pagamento, ti conviene accrocchiare 
(contorsione :-D ) e inserire uno script simile a questo in una pagina 
che viene aperta...
 
http://www.jonasjohn.de/snippets/php/delete-temporary-files.htm
 
 
la soluzione giusta è come ti hanno già detto:
script && cron
 
cya
 
ps
lo script non usa ftp basta metterlo in una pagina php (verifica gli 
attributi dei files).
 
 
-- 
http://www.evilripper.net
 
http://www.flickr.com/photos/evilripper/
 

 
http://www.jonasjohn.de/snippets/php/delete-temporary-files.htm
 
 
 
 
 
Allora, ti ringrazio per avermi dato un punto di inizio.
In pratica ho creato una apgina html con all'interno il codice php che 
mi hai linkato (ovviamente ho modificato quei pochi parametri, cartella 
e tempo)
ma quando vado ad aprire la pagina, mi appare questo:
 
($expire_time * 60)){ Â  // Now do something with the olders files... Â 
  print "The file $Filename is older than $expire_time minutes\n"; Â  // 
For example deleting files: //unlink($Filename); } Â  } ?>
 
 
che e' in pratica un estratto del codice
Cosa ho sbagliato?
 


Il codice PHP va inserito in una "pagina" PHP (quindi "pagina.php" e non 
"pagina.html").
 
Ciao
Gabriele

 "pagina.html").
Ok grazie, ho capito ed effettuato.
Adesso c'e' questo errore:
 
Parse error: syntax error, unexpected T_VARIABLE in 
/membri/sitoprova/index.php on line 7
 
 
 
Si puo' risalire all'errore?


Si. Guardi nel file index.php, alla riga 7 e cerchi l'errore di sintassi.
Quando non l'hai trovato posti qui la riga 7 (meglio se accompagnata 
dalle altre poche righe) e qualcuno ti risponderà: manca il ";" alla 
fine, c'è una parantesi in più, ecc.

 fine, c'è una parantesi in più, ecc.
 
 
Dato che e' un piccolo script lo posto tutto:
 
 
<?php
// Define the folder to clean
// (keep trailing slashes)
$captchaFolder  = 'immagini/';
 
// Filetypes to check (you can also use *.*)
$fileTypes      = '*.*';
 
// Here you can define after how many
// minutes the files should get deleted
$expire_time    = 20;
 
// Find all files of the given file type
foreach (glob($captchaFolder . $fileTypes) as $Filename) {
 
     // Read file creation time
     $FileCreationTime = filectime($Filename);
 
     // Calculate file age in seconds
     $FileAge = time() - $FileCreationTime;
 
     // Is the file older than the given time span?
     if ($FileAge > ($expire_time * 60)){
 
         // Now do something with the olders files...
 
         print "The file $Filename is older than $expire_time minutes\n";
 
         // For example deleting files:
         //unlink($Filename);
     }
 
}
?>
 
 
 
 
Ora non so come si contano le righe, ma Dreamweaver mi da questa come 
riga 7:
 
$fileTypes      = '*.*';
 
solo che non vedo errori.

Il 31/01/12 09:10, Ciccio® ha scritto:

Un piccolo aiutino please? :-(


Ciao, sei sicuro che unlink non sia tra i comandi bloccati da altervista 
(che sono parecchi)?