par
moietoi » 17 mai 2019, 14:41
Bonjour à tous,
je suis en train de faire un script qui devra comparer la date de dépôt de fichiers ou dossiers sur un ftp avec une date antérieure récupérée dans un fichier texte unixtime).
Mon soucis est que si le script parcours bien tous les fichiers, j'ai ma variable $derniere_date qui se vide en cours de boucle, je me retrouve avec une valeur qui passe au 1/1/70 en cours d'exécution
Cela semble venir d'une mauvaise utilisation de ma part de la fonction.
Si quelqu'un à une idée ?
Code : Tout sélectionner
<?php
// Ouverture du fichier dans lequel il y a la date et l'heure de la dernière éxecution
$monfichier = fopen('scriptexec.txt', 'r+');
// lecture de la première la première ligne du fichier qui contient la date de la dernière exécution
$derniere_date = fgets($monfichier);
echo date('d/m/Y H:i:s', $derniere_date);
echo "\n";
// insère la dernière date d'exécution du fichier
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, time()); // écriture de la dernière date d'exécution
fclose($monfichier); // fin des manipulations du fichier, il est fermé
//echo time();
$tab_fichiers=array();
function liste_rep($src_dir,&$derniere_date) {
$dir = opendir($src_dir);
while($nom = readdir($dir)) {
if ($nom!="." && $nom!="..") {
$chemin=$src_dir . "/" . $nom;
if ($chemin) {
echo ($chemin)."<br>";
echo "->".date('d/m/Y H:i:s', filemtime($chemin))."\n";
echo "=>".date('d/m/Y H:i:s', $derniere_date)."\n";
liste_rep($chemin);
}
}
}
closedir($dir);
}
$src_dir = ".";
liste_rep($src_dir,$derniere_date);
?>
Bonjour à tous,
je suis en train de faire un script qui devra comparer la date de dépôt de fichiers ou dossiers sur un ftp avec une date antérieure récupérée dans un fichier texte unixtime).
[b]Mon soucis est que si le script parcours bien tous les fichiers, j'ai ma variable $derniere_date qui se vide en cours de boucle, je me retrouve avec une valeur qui passe au 1/1/70 en cours d'exécution[/b]
Cela semble venir d'une mauvaise utilisation de ma part de la fonction.
Si quelqu'un à une idée ?
[code]<?php
// Ouverture du fichier dans lequel il y a la date et l'heure de la dernière éxecution
$monfichier = fopen('scriptexec.txt', 'r+');
// lecture de la première la première ligne du fichier qui contient la date de la dernière exécution
$derniere_date = fgets($monfichier);
echo date('d/m/Y H:i:s', $derniere_date);
echo "\n";
// insère la dernière date d'exécution du fichier
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, time()); // écriture de la dernière date d'exécution
fclose($monfichier); // fin des manipulations du fichier, il est fermé
//echo time();
$tab_fichiers=array();
function liste_rep($src_dir,&$derniere_date) {
$dir = opendir($src_dir);
while($nom = readdir($dir)) {
if ($nom!="." && $nom!="..") {
$chemin=$src_dir . "/" . $nom;
if ($chemin) {
echo ($chemin)."<br>";
echo "->".date('d/m/Y H:i:s', filemtime($chemin))."\n";
echo "=>".date('d/m/Y H:i:s', $derniere_date)."\n";
liste_rep($chemin);
}
}
}
closedir($dir);
}
$src_dir = ".";
liste_rep($src_dir,$derniere_date);
?>[/code]