php
  • opendir
  • 2014-09-12 3 views 1 likes 
    1
    <?php 
           if ($handle = opendir('img/albums/1/')) { 
            while (false !== ($file = readdir($handle))) { 
             if ($file != "." && $file != "..") { 
    
              echo "<li><div class='lay-outer pr db oh img_'><img src='img/albums/1/$file' class='open-img-sidebar-spec_' /></div></li>"; 
    
             } 
            } 
            closedir($handle); 
           } 
          ?> 
    

    У меня есть следующий код. Итак, я получаю фотографии из определенной вымышленности. Все рисунки в выложке перечислены от 1 до N их номеров (например, 1.jpg, 2.jpg и далее).php opendir файл с номером

    Мне нужно привести их в порядок, например, от 1 до 90 и так далее. Прямо сейчас, они перечисляются случайным образом, и я действительно хочу это исправить;

    Пожалуйста, помогите, спасибо :)

    +1

    Насколько я знаю, opendir предоставит вам файлы в том же порядке с ls -l, чтобы вы могли собирать файлы, а затем сортировать по php, как [здесь] (http://stackoverflow.com/questions/884974/sort- и дисплей-каталог-список по алфавиту, используя-opendir-в-PHP) –

    ответ

    3

    Учитывая они пронумерованы имена файлов, вы будете нуждаться в числовой или естественной сортировку против алфавитного. Поэтому даже другая функция вроде glob() не помогла бы.

    Наивное решение будет:

    • перебирает файлы в каталоге
    • хранить их в массиве
    • сортировки массива с помощью одного из: sort($arr, SORT_NUMERIC), natsort() и т.д.
    • цикл по массиву и вывод файлов в порядке
    0

    Возможно, вы захотите использовать

    scandir() 
    

    PHP говорит, что заказывает файлы alphabeticaly взглянуть на: link

    По умолчанию порядок сортировки в алфавитном порядке в порядке возрастания. Если для опции sorting_order установлено значение SCANDIR_SORT_DESCENDING, порядок сортировки в алфавитном порядке в порядке убывания. Если установлено значение SCANDIR_SORT_NONE, результат будет несортирован.

     Смежные вопросы

    • Нет связанных вопросов^_^