За последние 24 часа нас посетили 8163 программиста и 557 роботов. Сейчас ищут 219 программистов ...

Элементы массива из веб-файла не выводяться

Тема в разделе "PHP для новичков", создана пользователем php_user, 19 апр 2014.

  1. php_user

    php_user Новичок

    С нами с:
    19 апр 2014
    Сообщения:
    91
    Симпатии:
    0
    Добрый день. Упражняюсь с кодом, который вытаскивает курсы валют с другого сайта. Есть следующий вопрос:
    при наборе следующего кода

    <?
    $lines = file('http://www.ПРОИЗВОЛЬНЫЙ САЙТ.ru/');
    foreach ($lines as $line_num => $line)
    {
    echo "Строка #<b>{$line_num}</b> : ".htmlspecialchars($line)."<br />\n";
    }
    ?>


    отображаются все строки страницы. Однако если заменить код на следующий:

    <?php
    $addr = "http://www.ПРОИЗВОЛЬНЫЙ САЙТ.ru/";
    $screen = file($addr);

    $i = 0;
    while ($i < sizeof($screen))
    {
    $i++;
    echo "Строка".htmlspecialchars($screen)."<br/>";
    }
    ?>


    содержимое строк веб-страниц не отображается- почему? есть какая-то особенность с массивами, созданными из веб-страниц?
     
  2. php_user

    php_user Новичок

    С нами с:
    19 апр 2014
    Сообщения:
    91
    Симпатии:
    0
    могу упростить вопрос.
    Почему

    <?php
    $addr = "http://www.ПРОИЗВОЛЬНЫЙ САЙТ.ru/";
    $screen = file($addr);
    echo htmlspecialchars($screen);
    }
    ?>


    не выводит информацию ни для какого элемента массива
     
  3. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    716
    И php не выдает ошибку "undefined constant"?
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.515
    Симпатии:
    1
    1. $screen - тут забыл знак $ у переменной i.
    2. Инкремент переменной нужно переместить ниже, чтобы можно было вывести $screen[0].
    Код (PHP):
    1. <?php
    2. $addr = "http://www.ПРОИЗВОЛЬНЫЙ САЙТ.ru/";
    3. $screen = file($addr);
    4.  
    5. $i = 0;
    6. while($i < sizeof($screen)){
    7.     echo "Строка $i:".htmlspecialchars($screen[$i])."<br/>";
    8.     $i++;
    9. } 
     
  5. php_user

    php_user Новичок

    С нами с:
    19 апр 2014
    Сообщения:
    91
    Симпатии:
    0
    нет, ошибок нет

    Добавлено спустя 1 минуту 51 секунду:


    спасибо, теперь все работает
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.439
    Симпатии:
    1.744
    в лог глянь =)
     
  7. Ke1eth

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

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?op=GetCursOnDateXML
    Получай информацию из правильных мест и не мучайся.