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à ?

  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 : 34
    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");

  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 : 31
    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");

  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 : 31
    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

  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 : 31
    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/>';
    }

  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 : 31
    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 : 54
    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 220
    Points
    91 220
    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 ?

  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 : 31
    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 : 54
    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 220
    Points
    91 220
    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 !';
    }

  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 : 31
    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 : 54
    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 220
    Points
    91 220
    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...

  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 : 31
    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 ...

  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 : 31
    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 : 54
    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 220
    Points
    91 220
    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 !

  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 : 31
    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 : 31
    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, 15h51
  2. Sélection multi table avec condition
    Par iuz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/05/2004, 16h04
  3. ALTER VIEW avec condition
    Par yan77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/04/2004, 18h22
  4. Index avec conditions
    Par marhnix dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/03/2004, 11h48
  5. boucle avec condition d'arret changeante
    Par NicoH dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2003, 12h48

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