Не успел я пройти в моем сервере, и я получил последнее изменение с помощью этого:
header('Last-Modified: ' . date("D, d M Y H:i:s", filemtime('/Applications/MAMP/htdocs/passesWebserver/DigiClubCard.pkpass')) . ' GMT+07:00');
Теперь у меня нет какого-либо пропуска в моем сервер, и у меня есть только данные прохода в базе данных, так что я должен изменить этот заголовок, чтобы получить последний-модифицированный проход?Как получить последнее изменение в проходе, который добавляется пользователем динамически
ответ
Если вы отправляете новое, динамически созданный проход, чтобы создать заголовок с текущим временем вы можете:
// Tell PHP to use UTC
date_default_timezone_set ('UTC');
// Create a header with the current time
header('Last-Modified: ' . date("D, d M Y H:i:s", time()) . ' GMT');
касаемо часового пояса, раздел 3.3.1 HTTP/1.1 стандартные RFC2616 состояния:
Все HTTP штампы даты/времени должны быть представлены в Greenwich Mean Time (GMT), без исключения. Для целей HTTP GMT GMT - это точно , равное UTC (скоординированное универсальное время). Это указано в первых двух форматах путем включения «GMT» в качестве трехбуквенной аббревиатуры для часового пояса и должно быть принято при чтении формата asctime . HTTP-дата чувствительна к регистру и НЕ ДОЛЖНА включать дополнительных LWS за пределы, которые специально включены как SP в грамматику .
поэтому вам не следует добавлять данные на 7 часов в зависимости от времени года.
, так что мне нужно добавить это, когда я создаю пропуск или получая серийный проход для webservice? – malinchhan
Как узнать последнее изменение пароля на устройстве пользователя? – malinchhan
Вам нужно отправить этот заголовок только с помощью .pkpass. Вы должны отправить его с первого прохода и в ответ на метод «Получить последнюю версию прохода». Устройства будут повторять вашу дату «Last-Modified» в заголовке «If-Modified-Since», который они отправляют с запросом «Получить последнюю версию прохода». – PassKit