Est-ce que le code que j'ai donné donne le résultat attendu déjà ?
Est-ce que le code que j'ai donné donne le résultat attendu déjà ?
Salut,
Tu le place ou ton unlink ? Là ?
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo 'vieux fichier : ' . $element . '<br/>'; unlink("$dir_nom/$element");
oui oui Sabotage le code fonctionne bien
voila comment je l'ai insérer dans mon code
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
20
21
22
23
24
25
26 $dir_nom = "uploads/"; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point') $dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant $fichier= array(); // on déclare le tableau contenant le nom des fichiers while($element = readdir($dir)) { if($element != '.' && $element != '..') { if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;} $objDatefichier = date_create(substr($element,0 ,10)); if ($objDatefichier) { $objDatelimite = date_create('10 days ago'); if ($objDatefichier < $objDatelimite) { unlink("$dir_nom/$element"); } else { echo 'bon fichier : ' . $element . '<br/>'; } } } } closedir($dir);
comme ça ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $dir_nom . DIRECTORY_SEPARATOR . $element");
ba non ça change rien du tout les fichiers reste toujours dans le dossier....
c'est quand même fou...
Il y a une faute de syntaxe dans ma ligne. Tu l'as corrigé ou bien ça n'a pas provoqué d'erreur ?
ajoute
au début
Code : Sélectionner tout - Visualiser dans une fenêtre à part error_reporting(E_ALL);
j'ai bien corriger l'erreur j'ai bien mis le bout de code au début j'ai que dalle en retour sauf les bon fichier qui ne sont pas a suppr
et si tu fais ça ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if ($objDatefichier < $objDatelimite) { unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $dir_nom . DIRECTORY_SEPARATOR . $element); echo $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $dir_nom . DIRECTORY_SEPARATOR . $element . '<br/>'; }
rien n'a changé
je comprend vraiment pas et j'ai rien en echo c'est quand même fou ça
au cas ou je redonne mon code
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
20
21
22
23
24
25
26
27
28
29 $dir_nom = "uploads/"; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point') $dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant $fichier= array(); // on déclare le tableau contenant le nom des fichiers while($element = readdir($dir)) { if($element != '.' && $element != '..') { if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;} $objDatefichier = date_create(substr($element,0 ,10)); if ($objDatefichier) { $objDatelimite = date_create('10 days ago'); if ($objDatefichier < $objDatelimite) { unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $dir_nom . DIRECTORY_SEPARATOR . $element); echo $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $dir_nom . DIRECTORY_SEPARATOR . $element . '<br/>'; } } else { echo 'bon fichier : ' . $element . '<br/>'; } } } closedir($dir);
Tu essayes de comprendre au moins ce que tu écris ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part $dir_nom = "uploads/";$dir_nom.'/'.$element selon ton code, ça se traduit par "uploads//[...]". Tu n'as pas remarqué que tu mets un slash (ou antislash du reste, ça dépend de l'OS) en trop ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
woups j'avais pas vu voila j'ai corrigé mais......
rien ne change les fichiers ne se supprime pas
Essaye
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(!$dir){ echo 'Le chemin du dossier n\'est pas correct !'; }
en faite il rentre plus dans ma boucle
meme que ca jai rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ($objDatefichier < $objDatelimite) { echo "bonjoue";
Ca, il faut le mettre avant le while...Envoyé par Bovino
oui jlai fai mais ca ne change rien du tout
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33 $dir_nom = "uploads"; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point') $dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant $fichier= array(); // on déclare le tableau contenant le nom des fichiers if(!$dir){ echo 'Le chemin du dossier n\'est pas correct !'; } while($element = readdir($dir)) { if($element != '.' && $element != '..') { if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;} } $objDatefichier = date_create(substr($element,0 ,10)); if ($objDatefichier) { $objDatelimite = date_create('10 days ago'); if ($objDatefichier < $objDatelimite) { echo "bonjour"; } } // else { // echo 'bon fichier : ' . $element . '<br/>'; // } } closedir($dir);
Heureusement que tu nous as dit que le script proposé fonctionnait ...
mais il fonctionnait hier soir tout fonctionnai bien
je vous jure
Ben peut-être qu'il marche plus aujourd'hui parce que s'il fonctionnait hier, ça veut dire que les fichiers ont déjà été effacés !
avec ce code la, il me renvoi bien les fichiers a supprimer sur le echo mauvaisfichier
a partir du moment ou j'ai remplacer cette ligne par unlink rien ne se passe et les fichiers sont toujours présent dans mon dossier
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 while($element = readdir($dir)) { if($element != '.' && $element != '..') { if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;} $objDatefichier = date_create(substr($element,0 ,10)); if ($objDatefichier) { $objDatelimite = date_create('10 days ago'); if ($objDatefichier <= $objDatelimite) { echo 'vieux fichier : ' . $element . '<br/>'; } else { echo 'bon fichier : ' . $element . '<br/>'; } } else { echo 'mauvais nom de fichier : ' . $element . '<br/>'; } } }
bon jai repris le code de départ
je vais pas chercher pourquoi
ulink("$dir_nom/$element") fonctionne maintenant
sauf que mtn que cela suprime les fichiers je me suis aperçut que lorsque les fichiers son pour le mois et sont nommé comme
cela annee-mois-nomfichier.pdf ca se met en mauvais nom de fichier.. donc si j'ai bien tou suivi depui le depart je fais la meme fonction pour les fichier du mois?
donc ça me donne cela mais ça met tous en bon fichier elle est ou ma boulette
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33 voila le code actuelle qui jai pas compris pourquoi ca fonctionnais pas hier soir... $dir_nom = "uploads"; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point') $dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant $fichier= array(); // on déclare le tableau contenant le nom des fichiers if(!$dir){ echo 'Le chemin du dossier n\'est pas correct !'; } while($element = readdir($dir)) { if($element != '.' && $element != '..') { if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;} $objDatefichier = date_create(substr($element,0 ,10)); if ($objDatefichier) { $objDatelimite = date_create('10 days ago'); if ($objDatefichier <= $objDatelimite) { echo 'vieux fichier : ' . $element . '<br/>'; unlink("$dir_nom/$element"); } else { echo 'bon fichier : ' . $element . '<br/>'; } } else { echo 'mauvais nom de fichier : ' . $element . '<br/>'; // unlink("$dir_nom/$element"); } } } closedir($dir);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $objDatemois = date_create(substr($element,0 ,6)); if ($objDatemois) { $objDatelimitemois = date_create('30 days ago'); if ($objDatemois <= $objDatelimitemois) { echo 'bon mois : ' . $element . '<br/>'; // unlink("$dir_nom/$element"); } } else { echo 'mauvais mois : ' . $element . '<br/>'; } }
Partager