Где вы такие расценки берёте?)) За такие деньги я бы и средней руки интернет магазин не стал бы писать.
Тут работы больше чем на 2-3 месяца полноценной команде. Ну только если у Индусов заказывать)
Заказать ТЗ. Чтобы у вас собрали данные и привели их в нужную форму (бизнес-анализ).
И уже с этим искать исполнителей.
Вы сами вряд ли сможете написать хорошее, грамотное ТЗ ( это вообще мало кто может )
нужно больше информации, как физически расположены эти виртуалки, на одной хост машине на нескольких, через что реализована "отдельная внутренняя сеть" и т. д. Нужно больше вводных, чтобы дать ответ.
А, доменов не увидел, в принципе по доменам решения есть что выше, что ниже.
Серебрянной пули не найдёте. Можно приобрести файервол, и на него правила кидать, там можно блокировать как угодно.
stripos( $link, $siteName ) === false - это условие выдаст все внутренние ссылки
и что? тут разделение задачи, чтобы не париться с регуляркой, вторым шагом отсекаем всё что ведёт на сторонние ресурсы.
Если чисто регуляркой, без лишних хлопот, то решение уже показал Mikhail Osher
вот как раз нет, вам нужно изменить доступ в htaccess или в кофигурации на все возможные, т.е. убрать ограничение по доступу, то что вы заменили 127.0.0.1 на адрес локальной машины это по сути одно и тоже.
Чтобы с любого хоста можно было подключиться к apache.
Тогда всё должно работать так, как настраивали, или через папки либо через доменные имена, тут от настроек зависит.
Прокинутый порт должен соотвестовать тому который слушает apache (директива - Listen).
Тогда будет такая схема: статический адрес : порт - нат(роутер) - адрес машины : порт апач
Пруф в студию =)
Всё что делается делается через сторонние библиотеки, а они это решение костыляют.
Новые фичи, поддерживаются пока далеко не во всех браузерах.
Поэтому прогресс бар и прочее, опять же не напрямую.
SyavaSyava: Уважаемый, вы для начала не начинайте холивар на пустом месте. Я объяснил адекватную ситуацию, что у вас
а) Не всегда есть достаточно широкий стабильный канал
б) Не всегда есть под рукой та или иная система, и тот или иной набор ПО.
Так что моя правда ближе к реальности чем ваша.
А если решать задачу без реального контекста - ну что же, мне жаль тех людей которым вы рекомендуете что-то из идеальной ситуации в вакууме.
fman2: Есть смысл бэкапить сервер, а не только сайты и базу.
Положим раз в неделю full и каждый день инкрементом или дифференциалом (тут по вкусу в зависимости от задач)
SyavaSyava: А теперь, расскажите-ка какой смысл в удалённом рабочем месте если нужен стабильный канал от 30 Мбит и laptop или комп со всеми обновлениями rdp клиента, чтобы юзать все фичи? Т.е. Старая винда, Unix уже не то, на даче с каналом в 5-10 тоже не торт) и получается две рабочие станции, с зависимостью от инета и скорости его, вместо одного ноута? Не несите бред, товарищ.
Добавьте в таблицу флаг, или связь с типами, костыль можно соорудить примерно такой.
Узнаём по флагу какой тип объявления.
Делаем метод или массив который по типу будет возвращать массив полей, назовём его $currentFields
Создадим подобие фабрики которая по типу поля и его названию будет возвращать тот или иной тип поля
function fact($form, $fieldType, $propName, $options = [] ){
switch( $fieldType ){
case 'text': return $form->textInput($propName, $options );
case 'textarea': return $form->textarea( $propName, $options);
}
}
судя по всему тут поток картинка не выгружается полностью, а постоянно грузится в потоке.
А когда таймер останавливается, это сервер прервал соединение.
Больше никаких идей нет.
Т.е. два варианта. В заголовках изображение и HTML страница.
или
в цикле генерируется изображение и сбрасывается каждую секунду.
Тут работы больше чем на 2-3 месяца полноценной команде. Ну только если у Индусов заказывать)