Je veux afficher des fichiers dans mon répertoire dans le navigateur. Je sais que cela est possible en utilisant @Opendir code> et
lavedir code> .. Mais ce que je veux, c'est de limiter le nombre de fichiers dans la liste à un numéro spécifique et à l'affichage suivant à l'aide de la pagination . P>
6 Réponses :
dépend de la façon dont vous voulez y aller. Il y a une tonne de bibliothèques JavaScript / JQuery Pagination, là-bas .. Juste Google "Pagination JavaScript." P>
Si JavaScript n'est pas une option ou si vous préférez simplement utiliser PHP, il devrait être relativement simple. P>
Utilisez Opendir / ReadDir pour obtenir une liste de tous les fichiers. Configurez-vous si beaucoup vous voulez pour l'affichage. Divisez le reste par ce nombre pour obtenir le nombre de pages. Ensuite, prenez une tranche de la matrice du (page - 1) * (numéro à la liste) jusqu'à (numéro à la liste). Ce sont les fichiers que vous allez montrer. Passez le numéro de page via GET / POST. Si c'est trop élevé, utilisez la dernière page, trop faible ou non numérique, utilisez la première page. P>
Je veux une solution PHP pure .. pas Java, sinon je ne serai pas ici .. :)
Magento. stackexchange.com/questions/316910/...
Pour la pagination, vous pouvez utiliser zend_paginator .
Une fois que vous avez obtenu la liste des fichiers dans le répertoire, vous ne configurez que le paginateur et vous prendra soin du reste. P>
Vous pouvez utiliser Scandir pour lire tout le contenu du répertoire dans un tableau. Ensuite, émettez le contenu de la matrice en fonction de la valeur de pagination.
$offset = 10; //get this as input from the user, probably as a GET from a link $quantity = 10; //number of items to display $filelist = scandir('/mydir'); //get subset of file array $selectedFiles = array_slice($filelist, $offset-1, $quantity); //output appropriate items foreach($selectedFiles as $file) { echo '<div class="file">'.$file.'</div>'; }
J'ai essayé Php $ décalset = 10 // Obtenez ceci comme entrée de l'utilisateur, probablement comme une liaison $ Quantité = 10; // Nombre d'éléments à afficher $ FileList = Scandir ('.//'); // obtenir le sous-ensemble du tableau de fichiers $ sélectionnéfiles = array_slice ($ filéliste, $ offset-1, $ Quantité); // Sortie des éléments appropriés pour Foraach ($ sélectionnéfilefiles sous forme de fichier $) {echo '
Je suis heureux d'avoir pu aider. Qu'est-ce que je suis gâché? :)
Magento. stackexchange.com/questions/316910/...
Peut-être que quelque chose comme ça? puis Demandez à vos boutons NAV modifier le numéro de page. P> P>
Vous devriez essayer Yui 2 pagination et peut-être que si vous souhaitez afficher le fichier dans une table, utilisez le jeu de données Il existe une très utile composants de Yahoo User Interface P>
salutations p>
Publication d'un exemple (aussi Dans cette question ) -
pas de préfiltre: strong> p> strong> glob préfiltre: strong> p> Notez que dans le cas de la répertoire code> et
limitatif (code>
est mes nouveaux meilleurs amis, bien que glob code> semble être préfilecteur plus facilement. Vous pouvez également écrire une personnalisation
Filteriterator code>
. Besoin de PHP> 5.1, je pense. P> répertérateur code> exemple,
$ Fichier code> sera une instance de
splfileinfo code>
, tandis que glob code> est juste le chemin de disque. P> P>
En essayant ce code, mon $ paginé est vide. Exécution d'un impression_R sur $ DIR_ITERAROR retournements .... Objet Arrayiterator ([Stockage: Arrayiterator: privé] => Objet ArrayObject ([Stockage: ArrayObject: Private] => Array (Liste attendue des articles ici). Var_Dump sur la pagination envoie l'objet (Limitatifator) # 3 (0) {} et un impression_r donne un objet limitatifator (). My $ page de page et $ de perméompe vars sont dans les limites. Je ne sais pas pourquoi la limitative ne retournerait rien si le Dir_iterator est rempli de fichiers. Utilisation de PHP 5.3
Magento. stackexchange.com/questions/316910/...
S'il vous plaît voter si vous trouvez la question utile .. :)