php: прочитать каталог с изображениями и создать правило стиля с позицией на основе имени файла?

#php #css #image

#php #css #изображение

Вопрос:

Я не большой любитель php, поэтому мне нужна ваша помощь в создании лучшего и простого решения для этого. У меня есть папка «path / images / headers», где у меня есть несколько изображений заголовков (все обрезанные до нужного размера). Имена файлов выглядят следующим образом «something_right.jpg » , «xyz_left.jpg «, «dfjakdfjs_center.jpg » и т.д.

Мне нужен способ прочитать эту папку, предоставить случайный файл изображения и, наконец, создать правило стиля, которое устанавливает это изображение в качестве фонового значения и устанавливает позицию background-X на основе значения _underscore имени файла!

 <?php
    function header_image() {

        $imgDir = bloginfo('template_url'); ?>/images/headers;
        $pos = 
        return "transparent url('images/headers/" . $img . "') no-repeat " . $pos . " center;"

    }
    ?>
    <style type="text/css">
        .header-image {
            background: <?php echo header_image(); ?>
        }
    </style>
  

Итак, представьте, что у меня есть «xyz_right.jpg «правило стиля должно выглядеть следующим образом:

 background: transparent url('images/headers/xyz_right.jpg') no-repeat right center;
  

Есть идеи, как лучше всего это сделать?

Комментарии:

1. Этот код не кажется допустимым. Вы выходите из PHP в первой строке функции, но затем у вас появляется больше PHP без повторного открытия тега PHP.

Ответ №1:

Я бы выбрал glob , shuffle и preg_match , а не DirectoryIterator и strpos .

Ответ №2:

Для этого требуется довольно много, вам нужен способ указывать на каждый файл (здесь может помочь класс DirectoryIterator, особенно метод getBasename) и способ получить значение из имени файла (я бы выбрал strpos для поиска строки для каждого условия).

Сколько файлов находится в папке / будет находиться в ней?

Комментарии:

1. может быть, 20 изображений или около того. Мне просто нужно прочитать его имена файлов, извлечь значение _underscore в конце и создать это правило стиля.

2. Но как вы определяете, какой файл выбрать?

3. случайным образом! какой-нибудь случайный скрипт должен это сделать!

4. Взгляните на то, что я предложил, rand () может помочь сгенерировать случайное число, использовать его для выбора файла из DirectoryIterator-> getBasename() и запустить его с помощью функции, которая выполняет поиск по ключевым словам (центральный, левый, правый), возможно, лучше всего использовать switch … case здесь. Чушь собачья.