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 :

Affiché le contenu du dossier par page de 20


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 99
    Par défaut Affiché le contenu du dossier par page de 20
    Bonjour, (Suis null en php)
    1°) Je sollicite un coup de main pour afficher le contenu d'un répertoire par groupe de 20 avec un lien suivant et précédent pour afficher la suite.
    Mon problème c'est le fait que mon dossier comporte plus de 50 fichiers (MP3) et à l'affichage ça prend beaucoup de temps, je suppose que c'est le nombre qui ralenti l'affichage. (NB: je boucle avec un flash player pour permettre l'écoute).

    2°) je souhaite enlever l’extension dans l'affichage du nom du fichier.
    Je vous joint 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
    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
    <?php
    $dir_nom = '.'; // 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
    $dossier= array(); // on déclare le tableau contenant le nom des dossiers
    $nb_fichier = 0;
     
    while($element = readdir($dir)) {
    	if($element != '.' && $element != '..') {
    		if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
    		else {$dossier[] = $element;}
    	}
    }
     
    closedir($dir);
     
    if(!empty($dossier)) {
    	sort($dossier); // pour le tri croissant, rsort() pour le tri décroissant
    	echo "<p id=\"titre\">Cliquer sur le dossier Archives pour voir les Anciens</p> \n\n";
    	echo "\t\t<div id=\"menutelecharger2\">";
    	echo "\t\t<ul>\n";
    		foreach($dossier as $lien){
    			echo "\t\t\t<li><a href=\"$dir_nom/$lien/index2.php \">$lien</a></li>\n";
    		}
    	echo "\t\t</ul>";
    	echo "\t\t</div>";
    }
     
    if(!empty($fichier)){
    	sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
    	echo "<p id=\"titre\">Liste des MP3 à télécharger </p> \n\n";
    	echo "\t\t<div id=\"menutelecharger2\">";
    	echo "\t\t<ul>\n";
    		foreach($fichier as $lien) {
    		if($lien != '.' && $lien != '..' && $lien != 'index2.php'&& $lien != 'index.php'&& $lien != 'error_log')
    {
                $nb_fichier++; // On incrémente le compteur de 1
    			echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
    			echo "<center><object id=\"dewplayer\"
                    data=\"/flash/dewplayer.swf?mp3=$lien\"
                    align=\"baseline\" border=\"0\" width=\"210\"
                    height=\"21\" type=\"application/x-shockwave-flash\"><param
                    name=\"wmode\" value=\"transparent\"><param
                    name=\"movie\"
                    value=\"/flash/dewplayer.swf?mp3=$lien\"></object>
    				<p><br></p>
    				
    <div class=\"fb-like\" data-href=\"http://islam.bf/mp3preches/MP3/Les-Vendredis/$lien\" data-send=\"true\" data-layout=\"button_count\" data-width=\"300\" data-show-faces=\"false\"></div>
    <p><br></p>
    				<hr size=\"4\" width=\"50%\" color=\"#0000FF\">
    <br>
    </center>
    				
    				\n";
    		}
    		}
    	echo "\t\t</ul>";
    		echo '<center>Il y a <strong>' . $nb_fichier .'</strong> fichiers MP3 dans ce repertoire</center>';
    	echo "\t\t</div>";
     }
    ?>
    un lien de la page en question
    cliquer ici

  2. #2

  3. #3
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 99
    Par défaut
    Merci! mais je suis tellement nulle pour le moment or le tutoriel se base sur une base de donnée.
    Si possible un tutoriel qui se base sur l'affichage du contenu d'un dossier.
    Merci! pour la réponse rapide.
    En fait si c'est pas trop demandé je sollicite un code direct pour faire du copier coller.

  4. #4
    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
    Le principe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // on compte le nombre de pages nécessaires
    $nfichier = 30;
    $nombre_pages = ceil(count($fichier) / $nfichier);
    $page_actuelle = isset($_GET['page']) ? intval($_GET['page']) : 1;
    // on met un lien pour chaque page, le lien donne le numero de page a afficher
    for ($i = 1; $i <= $nombre_pages; $i ++) {
        echo '<a href="?page=' . $i . '">' . $i . '</a>';
    }
    // on decoupe le tableau contenant les fichiers au niveau de la page qu'on veut 
    $fichier = array_slice($fichier, ($page_actuelle - 1) * $nfichier, $nfichier);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 99
    Par défaut
    ça marche à merveille, j'ai copié le code en bas de et j'ai mis ce code à la fin de la page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo "Liste des pages ";
    for ($i = 1; $i <= $nombre_pages; $i ++) {
        echo '<a href="?page=' . $i . '">-'  . $i .  '</a>';
    Comment ajouter un lien suivant ou précédent pour que l'internaute ne saute pas une page sans savoir?

    Mon dernier souci c'est maintenant comment supprimer l'extension du fichier dans l'affichage de son nom

    Merci pour votre aide

  6. #6
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 99
    Par défaut
    Merci a vous qui m'avez aider.
    Pour l’extension du fichier, j'ai trouver ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $pos_point = strpos($lien, '.');
    $nomdufichier_sans_extension = substr($lien, 0, $pos_point);
    Donc au finish il ne me reste que le lien suivant ou précédent au lieu des numéro de page pour éviter qu'un internaute saute une page
    Je marque résolu néanmoins.
    Merci Infiniment

  7. #7
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 99
    Par défaut
    Salu les ami! juste pour signalé que mon problème d'extension est resolu avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // On enlève l'extension du fichier
    		$pos_point = strpos($lien, '.');
    $nomdufichier_sans_extension = substr($lien, 0, $pos_point);
    // FIN DE LA COUPURE DE L'EXTENSION
    Merci

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

Discussions similaires

  1. [WD19] Transfert d'un contenu de dossier par ftp
    Par JohnVist dans le forum WinDev
    Réponses: 3
    Dernier message: 15/12/2014, 16h06
  2. Afficher le contenu sans recharger la page
    Par quaresma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 19
    Dernier message: 28/10/2010, 02h01
  3. afficher donnes contenu dans BDD dans page JSF
    Par Juju2008 dans le forum JSF
    Réponses: 2
    Dernier message: 21/07/2008, 11h52
  4. Afficher le contenu d'un dossier dans une page HTML
    Par mauriceuh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 23
    Dernier message: 20/02/2007, 17h57
  5. Lister les fichiers d'un dossier par page
    Par bwatex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 17/08/2006, 20h09

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