Salut,
je fait un script d'upload sur mon site, alors je voudrais un code qui permet, en l'éxécutant, de supprimer tout les fichiers sauf les .php, de plus de 2 mois.
Comment faire?
Merci
Salut,
je fait un script d'upload sur mon site, alors je voudrais un code qui permet, en l'éxécutant, de supprimer tout les fichiers sauf les .php, de plus de 2 mois.
Comment faire?
Merci
Salut,
voilà qui devrait t'aider :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function delete_files($path) { $fd = opendir($path); while ($file = readdir($fd)) { // Verification des extensions if ($file != '.' && $file != '..' && !preg_match('#\.php$#i', $file)) { // Plus de 2 mois if (filemtime($path . '/' . $file) < time() - (3600 * 24 * 30 * 2)) { unlink($path . '/' . $file); } } } closedir($fd); }
Testez le forum Fire Soft Board, un forum libre, gratuit et français.
Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.
Donc j'ai essayé, alors j'ai mis ca dans : supimg.php
J'ai mis une image en .jpg et j'ai attendu 5 minutes (car j'ai mis suprimer les images de plus de 2 minutes), jai exécuté supimg.php, et l'image en .jpg n'a pas été supprimé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php function delete_files($path) { $fd = opendir($path); while ($file = readdir($fd)) { // Verification des extensions if ($file != '.' && $file != '..' && !preg_match('#\.php$#i', $file)) { // Plus de 2 minutes if (filemtime($path . '/' . $file) < time() - (2)) { unlink($path . '/' . $file); } } } closedir($fd); } ?>
Que faire?
time() ramène des secondes et tu cherches un écart de 2 minutes !
donc déjà time() - 2 doit faire quelquechose comme 2 secondes ?
filemtime($Fichier) donne une date dans un format timestamp
qu'il faut donc ensuite convertir en secondes (voir doc) pour pouvoir la comparer !
Pour commencer il y a une erreur dans la mesure de temps :
Votre commentaire indique :
Et dans le code c'est 2 ... secondes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part // Plus de 2 minutes
Pourrait-on avoir l'appel de cette fonction ? Ce script n'agit pas de manière récursive, l'image se trouve donc t-elle bien dans le répertoire qui lui est passé comme premier paramètre ? Avez-vous des messages d'erreur ? (Il a l'air de parfaitement fonctionner).
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (filemtime($path . '/' . $file) < time() - (2))
Julp.
Merci de votre aide, mais je vais changer ma facon de faire.
Alors, je voudrais savoir comment faire pour suprimer un fichier?
Merci
Vous avez déjà la réponse dans votre scriptfonction unlink
Julp.
Exact,
donc si je veux supprimer il faut faire ca :
ou ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $file = 'http://www.monsite/upload/image.jpg'; unlink($file);?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $file = 'image.jpg'; unlink($file);
Merci
La deuxième solution (par contre $path n'est pas défini dans l'extrait donné) car la suppression ne pourra être effective dans le cas d'une URL.
Julp.
Ok, donc je m'en doutais que c'étais la deuxième.
Merci beaucoup de ton aide.
J'essaye mon script, donc je met résolu juste après si tout marche :p
Partager