Ajax “Является там новым содержанием? Если так, страница обновления” - Как сделать это, не повреждая сервер?

file_exists и is_file могут принимать относительный путь, но unlink нет. Таким образом, мы должны преобразовать относительный путь в абсолютный.

unlink(realpath($file)); // this should suffice

Относительный путь выглядит так: ../../path/to/file.php

Абсолютный путь выглядит следующим образом: /path/to/file.php

Надеюсь, это поможет.

9
задан Berzemus 14 November 2008 в 10:14
поделиться

10 ответов

stackoverflow делает это некоторый путь, не знайте как все же.

Более стандартным путем действительно был бы JavaScript, который ищет новое содержание каждые несколько секунд.

Более усовершенствованный путь использовал бы подобную нажатию технику, при помощи методов Кометы (длинный опрос и такой). Существует много интересного материала в соответствии с той ссылкой.

Я все еще ожидаю хорошей возможности использовать его сам...

О, и вот ссылка от stackoverflow об этом:
Там некоторый путь состоит в том, чтобы ПРОДВИНУТЬ данные от веб-сервера до браузера?

5
ответ дан 4 December 2019 в 15:28
поделиться

Проверьте эту ссылку, она объясняет различные веб-методы дистанционной работы

0
ответ дан 2 November 2019 в 23:11
поделиться

В Java я пользовался библиотекой Ajax (DWR) использование технологии Кометы - я думаю, что необходимо искать библиотеку в PHP использование его. Идея состоит в том, что сервер отправляет один очень длинный ответ Http и когда он имеет что-то для отправки клиенту, он заканчивает его, и отправьте новый ответ с обновленными данными. Используя его клиент doens't должен проверить с помощью ping-запросов сервер каждый x секунды для получения новых данных - я думаю, что это могло помочь Вам.

2
ответ дан 4 December 2019 в 15:28
поделиться

Вы могли рассматривать опрос каждые 5 секунд для начала, но через некоторое время начинать увеличивать время интервала опроса - возможно, некоторый верхний предел (1 минута, 5-минутная - независимо от того, что кажется оптимальным для Вашего использования). Увеличение не должно быть линейным.

Более сложное вращение (который мог включить предложение monzee для варьирования числом клиентов), должно будет позволить серверу диктовать интервал перед следующим опросом. Сервер мог затем увеличивать долину со временем, и можно даже изменить алгоритм на лету, или в ответ на сетевую нагрузку.

2
ответ дан 4 December 2019 в 15:28
поделиться

Вы могли сделать переменную времени опроса в зависимости от числа клиентов. Используя Вашу метафору, спрашивает ребенок, "Мы там уже?" и драйвер отвечает "Нет, но возможно за час". К счастью JavaScript не является упрямым ребенком, таким образом, можно быть уверены, что он не будет прослушивать Вас до тех пор.

2
ответ дан 4 December 2019 в 15:28
поделиться

Вы могли смотреть на 'Скрученную' платформу в Python. Это - событийно-ориентированная платформа сетевого программирования, которая могла бы удовлетворить то, что Вы ищете. Это может использоваться для продвижения сообщений с сервера.

1
ответ дан 4 December 2019 в 15:28
поделиться

Возможно, можно отправить запрос в реальный простой сценарий, который не должен делать реальный запрос дб, но только использует простую метку времени, чтобы сказать, существует ли что-либо новое.

И затем, если ответ верен, можно сделать реальный запрос, где сервер должен сделать реальную работу!-)

1
ответ дан 4 December 2019 в 15:28
поделиться

У меня был бы единственный экземпляр, называя DB и если более новая метка времени существует, поместите ту новую метку времени в переменную приложения. Затем позвольте всем сессиям проверить по той переменной приложения. Или что-то как этот. Тем путем только один экземпляр называет SQL-сервер и число клиентов does'nt вопросом.

Я не попробовал это и его просто первый idéa на макушке, но я думаю, что cashe, метка времени и позволила клиентам проверить cashe, является способом сделать это, и как реализовать cashe (sql-server-cashe, переменная приложения и так далее), я не знаю то, что является лучшим.

0
ответ дан 4 December 2019 в 15:28
поделиться

Я верю подходу shd быть основанным на комбинации сокетов серверной стороны и клиентского ajax/comet. Как:

Примите приложение чата с несколькими зарегистрированными пользователями, и что каждый из них слушает через вызов Ajax медленной загрузки сценарий слушателя серверной стороны.

Независимо от того, что браузер добирается, просто вводимые данные утверждают, что это к серверу с ajax звонит в сценарий устройства записи. Тот сервер обновляет базу данных (или система хранения) и отправляет, сокеты пишут в отмеченный сценарий слушателя. Последний затем получает новые данные и отправляет их назад на клиентский браузер.

Теперь я еще не записал это, и прямо сейчас я не знаю, завинчивает ли предел браузера двух параллельных соединений вышеупомянутую логику.

Будет ценить слушание из любого с мыслями здесь.

AS

0
ответ дан 4 December 2019 в 15:28
поделиться

Относительно того, как ТАКЖЕ - это, отмечают, что это не проверяет на новые ответы непрерывно, только когда Вы вводите в поле "Your Answer".

Ключ затем, должен сначала сделать, для в вычислительном отношении дешевой операции для избавлений распространенный "никакое обновление были нужны" случаи (например, вводя новый ответ или проверяя метку времени) перед инициированием более дорогой процесс для фактического получения любых изменений.

Поочередно, в зависимости от Вашего приложения, Вы можете разрешать это путем оптимизации публикующего изменение механизма. Например, возможно, могло бы быть выполнимо для изменений (или сводки их) быть помещенным на канал RSS и сделать, чтобы клиенты наблюдали канал вместо реального приложения. Мы можем предположить, что это было бы довольно эффективно, поскольку это - точно вид вещи, для которой RSS разработан и оптимизирован, плюс он обладал бы дополнительным преимуществом подавания Вашей заявки, намного более совместимой с остальной частью мира по минимальной стоимости для Вас.

0
ответ дан 4 December 2019 в 15:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: