За последние 24 часа нас посетили 37803 программиста и 7849 роботов. Сейчас ищут 1752 программиста ...

рандомное число в цикле в пути к файлу

Тема в разделе "PHP для новичков", создана пользователем maggocha, 1 сен 2022.

  1. maggocha

    maggocha Новичок

    С нами с:
    1 сен 2022
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте, подскажите пожалуйста почему не работает rand() в скрипте
    PHP:
    1. $count_dirs = 20;
    2. for ($i=0;$i<$count_dirs;$i++){
    3. $text = file_get_contents('C:/art/'.$i.'/text.txt');
    если вставить вместо $i переменную rand() выдает неизветную ошибку
    PHP:
    1. $count_dirs = 20;
    2. for ($i=0;$i<$count_dirs;$i++){
    3.  
    4. $rnd = rand(0,20);
    5.  
    6. $text = file_get_contents('C:/art/'.$rnd.'/text.txt');
    как сделать чтобы работало?

    От модератора: Используй кнопку </> при вставке кода
     
    #1 maggocha, 1 сен 2022
    Последнее редактирование модератором: 1 сен 2022
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Прямо так и выдаёт: "Неизвестная ошибка"?
     
  3. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    @maggocha обнародуй вид ошибки. Человек ждёт.
     
  4. maggocha

    maggocha Новичок

    С нами с:
    1 сен 2022
    Сообщения:
    4
    Симпатии:
    0
    ну что то подобное выдает PHP Warning: Undefined variable $rndnput

    Fatal error: Uncaught Error: Call to a member function set_value_by_name() on null
    --- Добавлено ---
    почему пишет $rndnput если переменная $rnd?
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @maggocha
    1. Цикл по $i в приведённом коде идёт от 0 до 19, включительно. То есть, $rnd может получить значение, выходящее из диапазона разрешённых.
    2. Где в вашем коде вызывается метод set_value_by_name()?
    Текст ошибки означает, что пытаетесь вызвать метод из переменной, от которой ожидаете, что она является каким-то объектом, а на самом деле имеет значение null.
    --- Добавлено ---
    Значит, где-то написали именно это :)
    В тексте ошибки ещё имя файла и строка должны быть написаны
     
  6. maggocha

    maggocha Новичок

    С нами с:
    1 сен 2022
    Сообщения:
    4
    Симпатии:
    0
    так в том то и дело, set_value_by_name() не может получить данные отсюда $text = file_get_contents('C:/art/'.$rnd.'/text.txt');
    потому что $rnd в пути к фйалу не работает, если в пути стоит $i то все работает
     
  7. maggocha

    maggocha Новичок

    С нами с:
    1 сен 2022
    Сообщения:
    4
    Симпатии:
    0
    спасибо вам, действительно сам $rndnput написал плюс метод не тот выбрал, просто думал что конфликт какой то между циклом и rand(), все работает благодарю