IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

unlink avec condition si


Sujet :

Langage PHP

  1. #21
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que le code que j'ai donné donne le résultat attendu déjà ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  2. #22
    Modérateur
    Avatar de BakSh0
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2014
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 276
    Points : 1 271
    Points
    1 271
    Par défaut
    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");
    BakSh0, Modérateur .Net & Web

    Affichez la colorisation syntaxique dans votre code en ajoutant dans votre balise : [CODE=xxx] en remplaçant xxx par le nom du langage.


    N'oubliez pas de consulter les FAQs : .Net / Web et les cours et tutoriels .Net / Web

  3. #23
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    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);

  4. #24
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . $dir_nom . DIRECTORY_SEPARATOR . $element");
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #25
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    ba non ça change rien du tout les fichiers reste toujours dans le dossier....

    c'est quand même fou...

  6. #26
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il y a une faute de syntaxe dans ma ligne. Tu l'as corrigé ou bien ça n'a pas provoqué d'erreur ?

    ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    au début
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #27
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    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


  8. #28
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    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/>';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #29
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    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);

  10. #30
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Tu essayes de comprendre au moins ce que tu écris ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
    $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 ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #31
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    woups j'avais pas vu voila j'ai corrigé mais......
    rien ne change les fichiers ne se supprime pas

  12. #32
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    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 !';
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #33
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    en faite il rentre plus dans ma boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     if ($objDatefichier < $objDatelimite) {
     
            echo "bonjoue";
    meme que ca jai rien

  14. #34
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Bovino
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(!$dir){
        echo 'Le chemin du dossier n\'est pas correct !';
    }
    Ca, il faut le mettre avant le while...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  15. #35
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    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);

  16. #36
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Heureusement que tu nous as dit que le script proposé fonctionnait ...
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #37
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    mais il fonctionnait hier soir tout fonctionnai bien
    je vous jure

  18. #38
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    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 !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  19. #39
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    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/>';
                              }
                   }
    	}

  20. #40
    Membre à l'essai
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Points : 14
    Points
    14
    Par défaut
    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?

    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);
    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
    $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/>';
                                }
         }

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/06/2004, 14h51
  2. Sélection multi table avec condition
    Par iuz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/05/2004, 15h04
  3. ALTER VIEW avec condition
    Par yan77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/04/2004, 17h22
  4. Index avec conditions
    Par marhnix dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/03/2004, 10h48
  5. boucle avec condition d'arret changeante
    Par NicoH dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2003, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo