Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Проверка двух путей file_exists
Покинул форум
Сообщений всего: 4
Дата рег-ции: Март 2014
Помог: 0 раз(а)
Добрый день.
Сегодня создал следующий класс, который относительно поступающей информации проверяет наличие файла (и выводит его) на соответствующем сервере:
Мой вопрос заключается в том, как сделать код более адекватным? Я про $this->get_cont($pathToFile);
Более конкретно:
В случае, если сервер продовый = case 'prod', мне нужно проверить file_exists сначала на одном сервере, потом на другом. Если это не прод, просто проверить, есть ли файл на одном каком-то сервере. Сделал это через ififelseif и выносом кода в случае успеха в отдельную функцию get_cont... Как сделать код более рациональным и красивым?
Спасибо.
Мелкий
Отправлено: 21 Апреля, 2020 - 18:07:08
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Как у вас получилось что переменные окружения вовсе в коде класса захардкожены?
Это отдельно должно быть где-то в конфигурации.
----- PostgreSQL DBA
malltaf
Отправлено: 21 Апреля, 2020 - 18:22:23
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Март 2014
Помог: 0 раз(а)
Мелкий пишет:
Как у вас получилось что переменные окружения вовсе в коде класса захардкожены?
Это отдельно должно быть где-то в конфигурации.
Так вышло. Это не финальная версия, но проблема не в этом
Мелкий
Отправлено: 21 Апреля, 2020 - 18:40:03
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Если проверять нужно в отсортированном списке мест - то и передайте из конфигурации отсортированный список мест. С точки зрения php - массивом или каким-либо другим итератором и обойдите их в цикле.
----- PostgreSQL DBA
malltaf
Отправлено: 22 Апреля, 2020 - 16:37:26
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Март 2014
Помог: 0 раз(а)
Мелкий пишет:
Если проверять нужно в отсортированном списке мест - то и передайте из конфигурации отсортированный список мест. С точки зрения php - массивом или каким-либо другим итератором и обойдите их в цикле.
Выглядит не сильно лучше - сделал массив вместо переменной. Пока не получается использовать foreach для всей конструкции вместо ifов. Не подскажете, как это лучше сделать?
LIME
Отправлено: 22 Апреля, 2020 - 17:01:13
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
malltaf пишет:
Не подскажете, как это лучше сделать?
тебе уже подсказали
делаешь разные конфиги для прод и для дев
кладешь в них разный servers_dir
$servers_dir = prod_data;
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.