Supprimer des images

Eléphant du PHP | 351 Messages

11 juin 2006, 23:51

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.

Eléphant du PHP | 353 Messages

12 juin 2006, 07:11

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 ?

Mammouth du PHP | 19672 Messages

12 juin 2006, 07:51

Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 351 Messages

12 juin 2006, 10:56

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.

Mammouth du PHP | 19672 Messages

12 juin 2006, 19:58

De quel point de repère disposes-tu pour déterminer la date de mise ne ligne ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 351 Messages

12 juin 2006, 22:29

Et bien dans mon ftp, il y a écrit la date de dernière modification d'image , on peux pas se servir de ca?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 juin 2006, 23:12

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()

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

12 juin 2006, 23:14

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.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 juin 2006, 00:07

Dans ce cas penche toi sur la 2ème option avec les fonctions de date() tu devrais réussir à faire quelque chose :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

13 juin 2006, 09:05

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.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 juin 2006, 20:46

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)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

14 juin 2006, 00:08

Et comment faire une vérif si il est de + de 60 jour et de supprimé?

Eléphant du PHP | 197 Messages

14 juin 2006, 01:07

attention je crois que les fonction date de php, ne marche que sur le servers UNIX (et unix-like)

ViPHP
fab
ViPHP | 2657 Messages

14 juin 2006, 01:20

non non les fonctions date de php marchent aussi sous windows et heuresement!
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 351 Messages

14 juin 2006, 10:37

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.