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); }
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 script fonction 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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager