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 :

Affichage des fichiers uploadés de cette année uniquement


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Par défaut Affichage des fichiers uploadés de cette année uniquement
    Bonjour a tous,

    voila j'ai une petite question je voudrai afficher les documents actuel et futur qui sont présent dans un dossier d'upload
    j'ai ce code la et il me renvois tout les fichiers même ceux de 2014 alors que je n'en veux pas comment corriger cela ??

    Code php : 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <?php
     
    $dir_nom = ("uploads/test/"); // 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;}
    		else {$dossier[] = $element;}
    	}
    }
     
    closedir($dir);
     
    function mois($mois)
    {
     
        switch($mois)
        {
            case 01 : $mois = "Janvier";
            break;
            case 02 : $mois = "Février";
            break;
            case 03 : $mois = "Mars";
            break;
            case 04 : $mois = "Avril";
            break;
            case 05 : $mois = "Mai";
            break;
            case 06 : $mois = "Juin";
            break;
            case 07 : $mois = "Juillet";
            break;
            case 08 : $mois = "Aout";
            break;
            case 09 : $mois = "Septembre";
            break;
            case 10 : $mois = "Octobre";
            break;
            case 11 : $mois = "Novembre";
            break;
            case 12 : $mois = "Décembre";
            break;
        }
     
        return $mois;
     
    }
     
    function nomfichier($nomfichier)
    {
     
        switch($nomfichier)
        {
            case "age.pdf" :  $nomfichier = "Menus personnes âgées";
            break;
            case "scolaire.pdf" : $nomfichier = "Menus scolaire";
            break;
            case "self.pdf" : $nomfichier = "Menu semaine";
           break;
        }
     
        return $nomfichier;
     
    }
     
    if(!empty($fichier)){
    	sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
    	echo "Liste des fichiers accessibles dans $dir_nom' : \n\n<br /><br />";
                                foreach($fichier as $lien){
                                //$date  = substr($lien,0, 4);
                                //list($year, $month, $text, $extension) = split('[.-]', $lien);
                                $fichier = explode("-", $lien);
     
     
    $month = Date('m');
    $annee = Date('Y');
     
    if ($annee<=($fichier[0])) {
        if ($month<=($fichier[1]))
     
     
    if(isset($fichier[3])) {
    ($semaine = Date('d'));
     
       if ($semaine-$fichier[2]>5){
     
     
            echo "<a href=\"$dir_nom/$lien \">".nomfichier($fichier[3])." du ".$fichier[2]." ".mois($fichier[1])." ".$fichier[0]."</a><br />";
    }       }
    }
    else
    echo "<a href=\"$dir_nom/$lien \">".nomfichier($fichier[2])." ".mois($fichier[1])." ".$fichier[0]."</a><br />";
                                    }
    		}
    ?>

  2. #2
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    Bonjour,

    Je n'ai pas regardé en détails mais cette portion de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach($fichier as $lien){
                                //$date  = substr($lien,0, 4);
                                //list($year, $month, $text, $extension) = split('[.-]', $lien);
                                $fichier = explode("-", $lien);
    Tu parcours ton tableau $fichier, puis juste après tu initialises une variable $fichier. Il va y avoir un conflit entre les deux variables qui ne sont pas censés être les mêmes, crée toi une variable avec un nom différent pour éviter les problèmes lors du parcours de ton tableau

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

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Par défaut
    Bonjour Rpass

    merci de prendre du temps pour me répondre

    si je comprend bien a la place de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier = explode("-", $lien);
    je doit mettre par exemple $resultat ?

  4. #4
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    voila c'est ça puis tu te sers de cette variable pour effectuer ton traitement et afficher le lien de ton fichier

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

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Par défaut
    ok ok c fait maintenant le soucis ca va etre pour que seul les fichiers actuel et futur s'affiche parce que la j'ai tout les fichier datant de 2014 qui réaparaisse :'(

  6. #6
    Membre très actif
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Par défaut
    d'accord je vois qu'effectivement ici tu fais un test sur l'année :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $month = Date('m');
    $annee = Date('Y');
     
    if ($annee<=($fichier[0]))
    du coup si l'année est superieure a l'année actuelle tu entres dans la boucle ok
    Mais ensuite tu as un else
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    else
    echo "<a href=\"$dir_nom/$lien \">".nomfichier($fichier[2])." ".mois($fichier[1])." ".$fichier[0]."</a><br />";
                                    }
    		}
    du coup même si l'année est inférieure tu affiches le lien ^^
    je dirais que ça vient de la , aussi si je peux me permettre je te conseiller d'utilise DateTime (http://php.net/manual/fr/class.datetime.php)
    pour manipuler les dates.

  7. #7
    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
    Par défaut
    D'après ce que je comprends de ton code, la date est inscrite dans le nom du fichier ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre averti
    Femme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Par défaut
    oui effectivement j'ai oublier de signaler que mon fichier est ecrit comme cela

    anne - mois - menu scolaire ou agé
    et
    anne - mois - jour - semaine

    désolé j'ai completement oublier de le signaler

    jai ressayer l'histoire du else BakSh0
    ca fonctionne mais la ou j'ai 4 parametre cela ne s'affiche pas

    comment devrai-je faire??

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

    Informations professionnelles :
    Activité : BTS SIO

    Informations forums :
    Inscription : Janvier 2015
    Messages : 53
    Par défaut
    J'ai trouver

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ($annee<=($fichier[0])) {
    	if ($month<=($fichier[1])) {
    		if(isset($fichier[3])) {
    			$semaine = Date('d');
    			if ($semaine-$fichier[2]<=5){
    ici au lieu de faire <=5 j'avais >5 ce qui ne pouvais pas coller

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    				echo "<a href=\"$dir_nom/$lien \">".nomfichier($fichier[3])." du ".$fichier[2]." ".mois($fichier[1])." ".$fichier[0]."</a><br />";
    			}       
    		}
    		else
    			echo "<a href=\"$dir_nom/$lien \">".nomfichier($fichier[2])." ".mois($fichier[1])." ".$fichier[0]."</a><br />";
    	}
    }
                                }
    }


    ouf cela fonctionne
    Merci a tous pour votre aide précieuse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème affichage des fichiers cachés
    Par OphyTe dans le forum Windows XP
    Réponses: 4
    Dernier message: 28/02/2008, 11h07
  2. affichage des fichiers
    Par g0up1l dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 25/04/2007, 14h47
  3. [Upload] Suppression auto des fichiers uploadés
    Par silver.spike dans le forum Langage
    Réponses: 5
    Dernier message: 09/03/2007, 12h27
  4. [CKEditor] taille maximale des fichiers uploadés
    Par Invité dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 03/12/2006, 12h38
  5. importer des fichiers mp3 avec sql server uniquement
    Par cool dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/04/2006, 14h21

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