За последние 24 часа нас посетили 63117 программистов и 1742 робота. Сейчас ищут 1168 программистов ...

Много разных условий

Тема в разделе "PHP для новичков", создана пользователем Cyrius, 22 май 2017.

  1. Cyrius

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

    С нами с:
    3 июл 2016
    Сообщения:
    98
    Симпатии:
    4
    Привет, мне нужно, чтобы дальнейшие условия выполнялись только после того, как выполнились предыдущие. Причем они как бы разного плана друг с другом, одни инструкции проверяют изображения, а другие - поля инпут. Нужно, чтобы проверка полей инпут проводилась только после того, как проверились изображения. Что нужно для этого сделать? Может засунуть предыдущие условия в функцию, а потом проверить какое булево она вернет?
    Вот код:
    PHP:
    1. //Проверка поступающего изображения:
    2. if(isset($_POST['dota_submit_t'])){
    3. if($_FILES['teamAvatar']['error'] == 0){
    4.   if(getimagesize($_FILES['teamAvatar']['tmp_name'])){
    5.   //Присвоение файлу уникального имени
    6.   $now = time();
    7.   while (file_exists($upload_filename = $upload_dir . $now . '-' . $_FILES['teamAvatar']['name'])) {
    8.   $now++;
    9.   }
    10.   //Перемещение на постоянное место хранения
    11.   @move_uploaded_file($_FILES['teamAvatar']['tmp_name'], $upload_filename);
    12.   }
    13.   else
    14.       echo "То, что вы пытались загрузить на сервер, не является изображением!";
    15. }
    16. else
    17.       echo "Сервер не получил изображение!";
    18. }
    19.  
    20.  
    21. // А вот эти условия проверяются только после выполнения предыдущих условий:
    22. if (предыдущие условия выполнены... ){
    23. }
    24. ?>
    Делается это просто для моего же удобства. Если решения нет - буду так работать (внутри предыдущего писать)
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    if ( 1_условие && 2_усл && .... )
    { ... }
    https://php.ru/manual/language.operators.logical.html
    --- Добавлено ---
    @ - когда такой знак присутствует в коде, говорится "слыш а у тебя код то не ок"
     
  3. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Сначала люди ставят @ перед файловыми операциями, а потом ломают голову, как так, у них файлы не пишутся, не читаются, а в логах пусто.
     
    [vs] и denis01 нравится это.
  4. Cyrius

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

    С нами с:
    3 июл 2016
    Сообщения:
    98
    Симпатии:
    4
    это единственный подобный знак во всем коде, + все закомментированно, так что я сразу пойму где ошибка, я надеюсь. Начитан уже про последствия..
    --- Добавлено ---
    Понял, спасибо!
     
  5. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    По всем файловым операциям можно получать состояние выполнения. И его, состояние это, проверять. Либо оборачивать код а try/catch.
    Первый вариант помогает не допустить ошибку. Второй - обработать ее.

    Я предпочитаю первый. Он производительнее и дает больше контроля. Например, когда речь идет о работе с блокировками файлов.