Взятие рандом строки из рандом файла.

Тема в разделе "Ошибки , Баги, Проблемы", создана пользователем Zlodey, 5 мар 2018.

  1. Zlodey

    Zlodey Новичок

    4 мар 2018
    14
    0
    Мужской
    Всем привет. Подскажите как можно реализовать взятие рандом строки, из рандомного файла в папке.

    {% set rand_num= random(1..3) %} Число От 1 до 3=х
    {% set lines = rand_str_from_file('rand/1.txt',1) %} в папке rand имеются файлы от 1до 1000. Нужно при помощи рандома прочитать случайный файл. {% set lines = rand_str_from_file('rand/(рандом номер).txt',1) %}
    <center>{{lines[1]}}</center>
    Никак не могу построить конструкцию. Подскажите пожалуйста.
     
  2. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    523
    243
    Мужской
    1. можно не писать
    а просто считать все файлы в папке и взять рандом

    2.
    всё верно кроме того, что ты забыл прописать полный путь "settings.doc_root ~ '/templates/public" и т.д.
     
  3. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    523
    243
    Мужской
    <center>{{lines[0]}}</center>

    первая строка имеет порядковый номер "0"
     
    Zlodey нравится это.
  4. Zlodey

    Zlodey Новичок

    4 мар 2018
    14
    0
    Мужской
    А, считывание должно обязательным быть?
    Я просто не планирую кешировать этот блок, и получается будет постоянно считывание что наверняка создаст нагрузку больше. Поэтому и посмотрел в сторону рандома.
    PS:Пример по выводу картинок видел. )
     
  5. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    523
    243
    Мужской
    если так - то да рандом выгоднее
     
  6. Zlodey

    Zlodey Новичок

    4 мар 2018
    14
    0
    Мужской
    Но нечерта не получается вывести рандомом.(( Ошибка Slim Application Error ошибка синтаксиса., подскажи пожалуйста как вставить рандом в сабж. По всякому пробовал что нашел на форуме из примеров и прочее.. Но что то нихера
     
  7. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    523
    243
    Мужской
    весь код давай от
    Код:
    {% set rand_num
    ...
     
  8. Zlodey

    Zlodey Новичок

    4 мар 2018
    14
    0
    Мужской
    Да собственно вот весь и есть.
    Код:
    {% set rand_num= random(1..3) %}
    {% set lines = rand_str_from_file('rand/1.txt',4) %}
    <center>{{lines[0]}}</center>
    В {{lines[0]}} по задумке должен быть вывод рандомной строки из ранд файла.
     
  9. ddn128

    ddn128 Опытный Пользователь

    31 дек 2015
    523
    243
    Мужской
    а это я кому писал?

    Код:
    {% set rand_num= random(1..3) %}
    {% set lines = rand_str_from_file(settings.doc_root~'/templates/public/'~settings.view.public.template~'/data/rand/1.txt',4) %}
    <center>{{lines[0]}}</center>
     
  10. Zlodey

    Zlodey Новичок

    4 мар 2018
    14
    0
    Мужской
    #10 Zlodey, 5 мар 2018
    Последнее редактирование: 5 мар 2018
    Сорян, забыл поправить)
    Код:
    {% set rand_num= random(1..3) %}
    {% set lines = rand_str_from_file(settings.doc_root~'/templates/public/'~settings.view.public.template~'/data/rand/{{rand_num}}.txt',5) %}
    <center>{{lines[0]}}</center>
    
    Так тоже не работает. Ничего не выводит.

    UP:
    Работает вот так
    Код:
    {% set lines = rand_str_from_file(settings.doc_root~'/templates/public/'~settings.view.public.template~'/data/rand/'~rand_num~'.txt',5) %}
    как всегда все проще чем кажется)
    ddn128, Спасибо за подсказки!
     

Поделиться этой страницей