За последние 24 часа нас посетили 15976 программистов и 1537 роботов. Сейчас ищут 865 программистов ...

цикл проверки файла

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

  1. Erilar

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

    С нами с:
    15 фев 2014
    Сообщения:
    21
    Симпатии:
    0
    Помоги найти ошибку, пожалуйста:
    В папке есть 3 картинки: картинка1.jpg, картинка2.jpg, картинка3.jpg.
    Мне нужно вывести их на экран. Делаю я это так:
    Код (Text):
    1. <?
    2.    $name = картинка;         //путь, имя картинки без .jpg
    3.    $dn='1';                  //добавляется номер картинки
    4.    $img =  $name.$dn.'.jpg'; //полный путь к картинке
    5.  
    6.    //запускаю цикл:
    7.    while(file_exists($img)): //проверяю существует ли файл
    8. >?
    9.    <img src="<? echo $img ?>"></img><br /> //вывожу картинку
    10.  
    11. <?
    12.    $dn++;                              //прибавляю к номеру картинки 1 
    13.    $img = $name.$dn.'.jpg';        //присваиваю $img путь следующей картинки
    14.    if (!file_exists($img)){break;} //если картинки не существует, завершаю цикл
    15.    endwhile;
    16. ?>
    Ничего не выводятся...
     
  2. Architector

    Architector Новичок

    С нами с:
    27 апр 2014
    Сообщения:
    1
    Симпатии:
    0
    попробуй сначала исправить >? такую строку на ?> а дальше посмотрим
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Можно поинтересоваться, чем обусловлен выбор while тут:

    Код (Text):
    1. while(file_exists($img))
    ?
     
  4. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Да он впервые походу что-то пишет
     
  5. Erilar

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

    С нами с:
    15 фев 2014
    Сообщения:
    21
    Симпатии:
    0
    Цикл будет работать, пока существует файл $img.
    Что-то не так?
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вечно? ( 30c для пхп :D )

    Добавлено спустя 1 минуту 9 секунд:
    нафига? через строчку уже опять будет проверка в начале цикла. можно не проверять в конце =)
     
  7. Erilar

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

    С нами с:
    15 фев 2014
    Сообщения:
    21
    Симпатии:
    0
    Где ещё ошибка, почему код не работает?
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    при чем тут ошибка? ты на вопросы ответь =) на оба, пожалуйста
     
  9. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Ну, начнем с того, что строка объявляется в кавычках.
    Код (PHP):
    1. $name = картинка; // правильно будет $name = 'картинка';
    2.  
    Далее, параметр $dn, который по идее должен быть числом - объявляется как строка.
    Код (PHP):
    1. $dn = '1'; // правильно будет $dn = 1;
    2.  
    Ты написал неправильно закрывающий тег php... ">?" вместо "?>". Если у тебя short_open_tag выключен, то нужно юзать "<?php" вместо "<?"...

    Исправь пока это...
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Автор, почитай еще базу. Что такое циклы. Зачем нужны. Как работают. Когда оно у тебя заработает, твой следующий пост будет "почему пхп виснет, отображая картинку?".

    Язык программирования - это не в прямом смысле разговорный язык. Все инструкции "понимаются" буквально. Не
    , а
    .

    Потому что компутер работает не так:
    [​IMG]
    А так:
    [​IMG]
     
  11. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Там имя файла меняется. так что он обработает по-порядку кучку и усё.
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    а, там итератор присваивается, ну тогда мне интересен как и тебе смысл ИФа)
     
  13. dapperkop

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

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Erilar, img - это не парный тег. </img> можно убрать.