Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267

Сохранение последнего запуска скрипта

26.08.2019, 11:12. Показов 1040. Ответов 3

Студворк — интернет-сервис помощи студентам
есть скрипт который запускается через js. он запускает его в пн в промежутке с 7 до 8 утра нужно сделать так что бы он запускался только один раз в неделю при переходе клиента на сайт. не сильно шарю в php(проект не мой). как заставить его запомнить что данный скрипт сработал и следующий раз что бы он срабатывал только в следующий понедельник. cron сразу отпадает так как сервер его не поддерживает.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function getWeekDay(date)
{
    date = date || new Date();
    var days = ['0', '1', '2', '3', '4', '5', '6'];
    var day = date.getDay();
 
    return days[day];
}
 
$(document).ready(function () {
    var offset = $(this).val();
    var date = new Date();
    var time = date.getTime()+ offset * 60 * 60 * 24 * 1000;
    var time1 = date.getHours();
    date.setTime(time);
        if (getWeekDay(date)==1 && time1>=7 && time1<8)
        {
            document.location.href = "http://site.ru/save.php";
 
        }
        else{
 
        }
 
});
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.08.2019, 11:12
Ответы с готовыми решениями:

Кнопка остановки и запуска скрипта
Господа, подскажите как сделать кнопку для запуска и остановки скрипта.

Сохранение результата скрипта в файл
Всем привет! Помогите реализовать задачу! ДАНО&gt;&gt;&gt; есть скрипт PHP с авто обновлением, работает постоянно. НУЖНО&gt;&gt;&gt; что бы по...

Запуск скрипта для анализа папки и запуска другого скрипта
Мне нужно написать скрипт, который каждую секунду (или 5 сек) сканировал определенную папку на поиск определенного файла. Например...

3
Невнимательный
 Аватар для ft4l
3107 / 1282 / 358
Регистрация: 08.02.2013
Сообщений: 7,510
Записей в блоге: 2
26.08.2019, 12:15
Не совсем понятно , например в чём разница первой функции с таким например
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
function getWeekDay(date)
{
    date = date || new Date();
/*  
    var days = ['0', '1', '2', '3', '4', '5', '6'];
    var day = date.getDay();
    return days[day];
*/
    return date.getDay();
}
</script>
 
<input type="button" onclick="alert(getWeekDay());" value="alert"/><hr/>
Или если в т такой html добавить дальше это
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function () {
    var offset = $(this).val();
//===============
alert('<'+offset+'>');
//===============
    var date = new Date();
    var time = date.getTime()+ offset * 60 * 60 * 24 * 1000;
    var time1 = date.getHours();
    date.setTime(time);
        if (getWeekDay(date)==1 && time1>=7 && time1<8)
        {
            document.location.href = "http://site.ru/save.php";
 
        }
        else{
 
        }
 
});
</script>
Непонятно зачем что-то делать с пустым значением...

Далее не понятно зачем имея jquery под капотом перенаправлять куда-то клиентов,
зачем нужно делать со всеми клиентами 1час в неделю,
зачем вообще нужен этот save.php
И многое другое
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
26.08.2019, 12:32  [ТС]
Цитата Сообщение от ft4l Посмотреть сообщение
зачем нужно делать со всеми клиентами 1час в неделю,
зачем вообще нужен этот save.php
1) клиенту стало лень запускать раз в неделю скрипт save.php
что делает save.php?
он обновляет базу и записывает новую информацию. клиент хотел раз в неделю что бы это делалось автоматически но к сожалению сервер не поддерживает cron и по этому мы решили что бы он просто сам или же клиент заходил на сайт и запускал скрипт. но скрипт должен сработать только один раз и после захода другого клиента в это же время не срабатывал. на js это уже не реализовать по этому я и пришел сюда.
0
Невнимательный
 Аватар для ft4l
3107 / 1282 / 358
Регистрация: 08.02.2013
Сообщений: 7,510
Записей в блоге: 2
26.08.2019, 17:57
В общем ясно, только я имел ввиду клиенты в смысле браузеры, гуглеботы там всякие ,)))
// вроде гуглбот уже этот js во всю как орешки расщёлкиваеть, если верить гуглокодерам

Т.е. время нужно серверное, хранить время последнего выполнения нужно тоже на сервере.
Проверять истечение срока давности нужно тоже на сервере...
Наверно как-то так, если хранить время как просто время модификации какого-то любого файла
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
date_default_timezone_set('Europe/London');
//date_default_timezone_set ( string $timezone_identifier ) : bool
// устанавливает временную зону по умолчанию
 
$filename = './data_dir/last_time_x.txt'; // ЛЮБОЙ ФАЙЛ
$last_time = @filemtime($filename);
//filemtime ( string $filename ) : int
// возвращает время последней модификации файла. 
// @  глушит Warning, если файл не существует
 
if(time() > $last_time + (7*24*3600)){
//time ( void ) : int
// Возвращает количество секунд, прошедших с начала эпохи 
// 7 дней; 24 часа; 60 минут; 60 секунд
 
//date_create([ string $time = "now" [, DateTimeZone $timezone = NULL ]] ) : DateTime
// Создает и возвращает новый экземпляр класса DateTime.
//  var_dump(date_create());
    date_time_set(($datetime = date_create()), 7,0,0,0);// 7 утра
 
//date_time_set ( DateTime $object , int $hour , int $minute [, int $second = 0 [, int $microseconds = 0 ]] ) : DateTime
// Переустанавливает текущее значение времени объекта DateTime в новое значение. 
// var_dump($datetime);
 
    date_isodate_set($datetime,
        date_format($datetime, 'Y'),
        date_format($datetime, 'W')); //понедельник
    
//  date_isodate_set ( DateTime $object , int $year , int $week [, int $day = 1 ] ) : DateTime
//Установка даты в соответствии со стандартом ISO 8601, в котором использование
// недель и смещения в днях предпочтительней указания даты. 
// var_dump($datetime);
 
    
    touch($filename, date_format($datetime, 'U'));
// touch ( string $filename [, int $time = time() [, int $atime ]] ) : bool
// Пытается установить время доступа и модификации файла
//// Создаст ./data_dir/last_time_x.txt если ./data_dir/ существует
 
    require('save.php');
// require аналогично include, за исключением того, что при ошибке он также выдаст
// фатальную ошибку уровня E_COMPILE_ERROR. 
// Другими словами, он остановит выполнение скрипта
}
будет выполняться require('save.php'); только раз в неделю,) с большой долей вероятности

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

// UPD// ajax-ом наверное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.08.2019, 17:57
Помогаю со студенческими работами здесь

Ошибка запуска скрипта
Доброго времени суток! В 3d max попытался запустить скрипт который нужен чтобы открыть формат .fak, но появилось ошибка! ...

Планировка запуска скрипта
Всем доброго времени уток. Мне нужно раз в 5 минут запускать на хостинге .php скрипт, который выполнит условленные функции и выключится до...

Батник запуска скрипта в 22:00
Добрый вечер. Посоветовали батник запуска скрипта vbs в 22:00. Название: Report.bat Содержание: if exits %time% = 22:25...

Время последнего запуска Windows
Где в реестре находится время последнего (текущего) запуска Windows? Только не нужно говорить с помощью каких программ можно это узнать,...

Ошибка запуска скрипта ps1
Добрый день. Хочу запустить скрипт ps1 через форму. Использую стандартный вызов. static void powershelling() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru