Script suppression fichiers par date sur FTP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Script suppression fichiers par date sur FTP

Re: Script suppression fichiers par date sur FTP

par uhurujam » 27 mars 2014, 16:50

mais avec rawlist il donne la date des fichiers mais comment l'utiliser ?

Puis j'ai rajouter

$date = date("d-m-Y");
$heure = date("H:i");
Print("Nous sommes le $date et il est $heure");

Donc après j'utilise la diff pour savoir s'il à plus de 3 jours.. Et pour le supprimer je ferais un IF...

Mais en attendant je comprends pas du tout comment récupérer la date du fichier et je ne vois pas ce que tu veux dire avec le calcul de l'age ..

J'suis noob :D

Re: Script suppression fichiers par date sur FTP

par moogli » 27 mars 2014, 16:35

salut,

Utilise l'api DateTime pour faire le calcul de "l'age" du fichier.

avec les méthodes createFromFormat et sub

ensuite tu peux comparer simplement à la date du jour (au pire diff tu l'auras en nombres de jours si tu le souhaite ;) )


@+

Script suppression fichiers par date sur FTP

par uhurujam » 27 mars 2014, 16:21

Bonjour,

J'essai de coder un script listant les fichiers présents dans un dossier et qui serait capable de supprimer des fichiers de plus de 3 jours !

J'ai un début de code :$
<?php
// connect and login to FTP server
$ftp_server = "monftp.com";
$ftp_username = "login";
$ftp_userpass = "motdepasse";

//connexion au serveur FTP
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);

// File list du dossier sauvegarde/CAM
$file_list = ftp_rawlist($ftp_conn, "sauvegarde/CAM");

// calcule le nombre total de ligne du tableau en comptant le . et ..
$resultat = count($file_list);
$resConv = $resultat-2; // . et .. ne sont pas compter
echo "$resConv fichiers presents dans le dossier CAM<br/><br/>" ;

// file 0 = . file 1 = .. file 2 = Premier fichier du dossier
$nfile = 2;
while ( $nfile < $resultat )
{
echo "$file_list[$nfile] ";

//ftp_delete($ftp_conn, $nfile)

$nfile++;
echo "<br/>" ;
}

// close connection
ftp_close($ftp_conn);
?> 

Pour l'instant ça m'affiche ça une fois le script lancé :

6 fichiers presents dans le dossier CAM

-rwxrwxrwx 1 57133 users 265494 Mar 11 00:06 cam20140311_000625.avi
-rwxrwxrwx 1 57133 users 262498 Mar 11 00:06 cam20140311_000637.avi
-rwxrwxrwx 1 57133 users 255226 Mar 12 00:33 cam20140312_003315.avi
-rw----r-- 1 57133 users 479080 Mar 12 06:48 cam20140312_064806.avi
-rw----r-- 1 57133 users 443014 Mar 12 06:48 cam20140312_064824.avi
-rw----r-- 1 57133 users 485906 Mar 12 06:48 cam20140312_064840.avi

Donc je peux voir la date de création ... Maintenant que dois je rajouter pour qu'il verifie que les fichiers ont plus de 3 jours et pour qu'il les supprimes tout seul ?

Merci :))