Page 1 sur 3
Supprimer des images
Posté : 11 juin 2006, 23:51
par kevinf
Salut,
je voudrais savoir comment faire un script en php qui sera automaique chaque jour afin de supprimer les images de plus de 60 jours dans mon répertoire upload/ au format jpg jpeg png gif
Merci à vous.
Posté : 12 juin 2006, 07:11
par Tictac
automatique chaque jour , c'est pas possible car il faut que qqun ouvre une page pour que le script s'effectue
Tu dois donc mettre ce script sur une page et quand un visiteur vient sur le site , tu execute un script qui effacer les photos de plus de 60 jours!
Enregistre tu les infos de tes images dans la base de donnée quand tu les ajoutes ?
Posté : 12 juin 2006, 07:51
par Cyrano
Posté : 12 juin 2006, 10:56
par kevinf
Pour l'automatisme cela n'es pas un problème, oi je voudrais savoir comment les supprimer au bout de 60 jours que les images ait été mis sur le ftp.
Posté : 12 juin 2006, 19:58
par Cyrano
De quel point de repère disposes-tu pour déterminer la date de mise ne ligne ?
Posté : 12 juin 2006, 22:29
par kevinf
Et bien dans mon ftp, il y a écrit la date de dernière modification d'image , on peux pas se servir de ca?
Posté : 12 juin 2006, 23:12
par Truc
Tu n'as pas une base de donnée associé ?
sinon il faut parcourir tout le dossier readdir() et relever la date de dernière modif filemtime()
Posté : 12 juin 2006, 23:14
par kevinf
Non, pas de base de donnée, car c'est un système d'upload donc les imagessont directement mises sur le ftp, et je voudrais les supprimer au bout de 61 jours après les avoirs mises pour ne pas encombrer le serveur.
Posté : 13 juin 2006, 00:07
par Truc
Dans ce cas penche toi sur la 2ème option avec les fonctions de date() tu devrais réussir à faire quelque chose

Posté : 13 juin 2006, 09:05
par kevinf
Salut , j'ai ce code :
<?php
$filename = '***.jpg';
if (file_exists($filename)) {
echo "$filename a été modifié le : " . date ("F d Y H:i:s.", filemtime($filename));
}
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file<br>\n";
}
}
closedir($handle);
}
?>
La première partie m'affiche la dernière modif de ***.jpg et l'autre partie m'affiche tous les fichiers du répertoire.
Il faudrait réunir les 2 afin d'aficher la dernière modif de chaque fichier.
Et de faire une vérification si la dernière modif est de plus de 60 jours alors le fichier est supprimé, sinon rien.
Posté : 13 juin 2006, 20:46
par Truc
Avec un peu de logique tu vas y arriver seul.
Demande toi ce qu'est "***.jpg" et "$file" (venant de la 2ème partie de code)
Posté : 14 juin 2006, 00:08
par kevinf
Et comment faire une vérif si il est de + de 60 jour et de supprimé?
Posté : 14 juin 2006, 01:07
par HanX
attention je crois que les fonction date de php, ne marche que sur le servers UNIX (et unix-like)
Posté : 14 juin 2006, 01:20
par fab
non non les fonctions date de php marchent aussi sous windows et heuresement!
Posté : 14 juin 2006, 10:37
par kevinf
Si quelqu'un avait un code, mais ce que je veux c'est ne pas mettre de nom de fichier dans code car chaque jours se sont des nouveau, donc un code qui regarde les fichiers du répertoire en terminaison .jpg .jpeg .gif .bmp .png .swf et que si un fichier est de + de 60 jours il le supprime sinon il continue sa vérification.