Время действия PHP-скрипта на сервере составляет 30 секунд, объемные файлы при медленном соединении часто не успевают загрузиться за это короткое время. Кроме того, контролировать загрузку большого числа мелких файлов проще, чем одного большого. Поэтому часто прибегают к процедуре разбивки файла на отдельные части с последующим их объединением на сервере.
Пусть имеется файл site.гаг, который необходимо разбить на части по 10 000 байт. Скрипт, выполняющий эту задачу, может выглядеть следующим образом (листинг 6.15).
Эта функция возвращает имена элементов, содержащихся в каталоге. Кроме файлов и папок в каталогах находятся также элементы "." и "..". Первый элемент указывает на текущий каталог, а второй - на родительский. Текущий каталог, кстати, можно открыть, указав его имя как ".".
Эта функция возвращает массив, содержащий имена файлов и* каталогов, расположенных в каталоге dir. Необязательный параметр sorting_order указывает, в каком порядке должна проводиться сортировка элементов массива. По умолчанию сортировка выполняется в алфавитном порядке по возрастанию. Если указан необязательный параметр sorting_order, равный 1, сортировка производится в алфавитном порядке по убыванию.
В листинге 6.18 показан простой пример, возвращающий массив с именами файлов и каталогов в заданном каталоге.