PHP программирование →  Оптимизируем расположение контента

Всем известно, что много статического контента, например, картинок, каких-либо файлов, держать в одной папке не кошерно:)
Было бы неплохо разбрасывать контент автоматически по папочкам, например, в зависимости от айдишника единицы контента.

Следующие функции решают эту это проблему:


/**
* Get path for image by ID
* Returns path like /1/2/12 when id = 12
*
* @param int $id
*/

if ( ! function_exists('getPathById')) {
        function getPathById($id) {
                $f1 = $id % 10;
                $f2 = floor(($id % 100) / 10);
                $path = '/' . $f1 . '/' . $f2 . '/' . $id;
                return $path;
        }
}

if ( ! function_exists('makeDirsForID')) {
        function makeDirsForID($id, $path) {
                $f1 = $id % 10;
                if (!file_exists($path . '/' . $f1)) {
                        @mkdir($path . '/' . $f1);
                }
                $f2 = floor(($id % 100) / 10);
                if (!file_exists($path . '/' . $f1 . '/' . $f2)) {
                                @mkdir($path . '/' . $f1 . '/' . $f2);
                }
        }
}

Надеюсь, все понятно и помогло:)
1


Вставка изображения
Файл:
Ссылка:
Выравнивание:
Описание:
комментарии(2): 
ekimoff 28 ноября 2009, 14:24 #
1 
В новой версии LiveStreet реализовано что-то подобное.
dodik 18 декабря 2009, 11:44 #
1 
при чем здесь LS?
мне, например, полезно было узнать, я не знала

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.