Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите запустить файл
 
 автор: Elina   (14.11.2005 в 10:14)   письмо автору
 
 

Доброго времени суток

Нужна помощь в создании кода ,который каждый день в определённое время
запускает файл (daily_backup.php)

спасибо

   
 
 автор: coloboc66   (14.11.2005 в 10:33)   письмо автору
 
   для: Elina   (14.11.2005 в 10:14)
 

Примерно так, я думаю:
$hour=date('H');
if($hour==20)<script languge="JavaScript">window.open('dayli_backup.php');</script>
Здесь установлено время 20 часов вечера. Время можно и ява-скриптом установить
А можно и так:
$hour=date('H');
if($hour==20) include('dayli_backup.php');

   
 
 автор: Ressfourt   (14.11.2005 в 10:57)   письмо автору
 
   для: coloboc66   (14.11.2005 в 10:33)
 

а crontab есть ли у тебя на хостинге если есть то намного удобнее его использовать

   
 
 автор: Elina   (14.11.2005 в 11:11)   письмо автору
 
   для: Ressfourt   (14.11.2005 в 10:57)
 

Если можно объяснить что такое crontab
и для чего это нужно

спасибо

   
 
 автор: cheops   (14.11.2005 в 15:34)   письмо автору
 
   для: Elina   (14.11.2005 в 11:11)
 

Подробности в темах по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3861
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4321

   
 
 автор: Elina   (14.11.2005 в 11:06)   письмо автору
 
   для: coloboc66   (14.11.2005 в 10:33)
 

Если я правильно поняла ,то я создаю новый файл ,к примеру ( start_backup.php )
и помещаю туда этот код -

     $hour=date('H');
     if($hour==20) include('dayli_backup.php');



Вопрос - чтобы функция date() автоматически запустила нужный файл ( dayli_backup.php )
надо ли запускать сам файл ( start_backup.php )

   
 
 автор: coloboc66   (14.11.2005 в 11:37)   письмо автору
 
   для: Elina   (14.11.2005 в 11:06)
 

Конечно!

   
 
 автор: Elina   (14.11.2005 в 12:12)   письмо автору
 
   для: coloboc66   (14.11.2005 в 11:37)
 

Наверное я не правильно объяснила

Мне нужен код , который запустил один раз и он всё время бежит (сегодня,завтра ...) ,сравнивает время и как только подойдёт нужное время запускает файл ( dayli_backup.php )

   
 
 автор: coloboc66   (14.11.2005 в 12:29)   письмо автору
 
   для: Elina   (14.11.2005 в 12:12)
 

Вот это все указанный выше код как раз и делает! Вы определитесь для себя с фразой "который запустил один раз..." Кто его должен запустить?- пользователь вашего сайта, я так понимаю. А если нет, то вам тогда нужно использовать совсем другие языки.

   
 
 автор: Elina   (14.11.2005 в 13:40)   письмо автору
 
   для: coloboc66   (14.11.2005 в 12:29)
 

который запустил один раз.. - т.е сегодня к примеру я запустила ,а завтра и после..... она запускается сама

   
 
 автор: coloboc66   (14.11.2005 в 13:57)   письмо автору
 
   для: Elina   (14.11.2005 в 13:40)
 

Капец какой-то... Вы создаете файлы dayli_backup.php и start_up.php и загружаете их один раз и навсегда на сервер вашего хостера. Файл start_up.php загружается пользователю с сервера, когда пользователь, к примеру переходит на него по ссылке. В файле записана функция определения времени ($hour=date('H')), она определяет текущее время и сравнивает его с заданным (20.00 например). Если равенство достигнуто (if($hour==20)), то следующий оператор (include('dayli_backup.php'))вызывает с сервера для пользователя файл dayli_backup.php. А пользователей вашего сайта может быт хоть тысяча, хоть миллон- роли не играет. Таковы принципы работы интернета. Неужели и теперь не ясно? Тогда ответьте на вопрос:
"т.е сегодня к примеру я запустила ,а завтра и после..... она запускается сама"- на чьем компьютере он должен запуститься?

   
 
 автор: Elina   (14.11.2005 в 14:37)   письмо автору
 
   для: coloboc66   (14.11.2005 в 13:57)
 

Спасибо за объснение ,из которого видно что каждый раз чтобы запустить ( start_up.php ) надо
переходит на него по ссылке ,чтобы он в свою очереть вызвал ( dayli_backup.php ) .
Я искала что то вроде механизма ,который с определённым интервалом времени сравнивает часы
и вызывает dayli_backup.php сам ( без того чтобы перейти на него по ссылки )

Возможно ли это ?

   
 
 автор: coloboc66   (14.11.2005 в 14:50)   письмо автору
 
   для: Elina   (14.11.2005 в 14:37)
 

Да- возможно. Для этого вам нужно написать программу на языке С++, допустим, или на Бейсике,скомпилировать ее и установить на компьютере пользователя. А скриптовые интернет языки, типа php или java-script здесь совершенно ни причем. Они предназначены для работы по http- протоколу.

   
 
 автор: Elina   (14.11.2005 в 15:28)   письмо автору
 
   для: coloboc66   (14.11.2005 в 14:50)
 

спасибо за помощь

   
 
 автор: cheops   (14.11.2005 в 15:36)   письмо автору
 
   для: Elina   (14.11.2005 в 14:37)
 

Спросите вашего хостера имеется ли у него cron?

   
 
 автор: Elina   (14.11.2005 в 15:49)   письмо автору
 
   для: cheops   (14.11.2005 в 15:36)
 

надо уходить ,спрошу про cron

спасибо

   
 
 автор: coloboc66   (14.11.2005 в 16:28)   письмо автору
 
   для: Elina   (14.11.2005 в 15:49)
 

Кстати, а что такое cron? Я тоже не знаю, может людей тут в заблуждение ввожу?

   
 
 автор: cheops   (14.11.2005 в 17:10)   письмо автору
 
   для: coloboc66   (14.11.2005 в 16:28)
 

Это специальный демон, который позволяет запускать скрипты в строго определённое время. Он имеется во всех UNIX-системах, но доступ к нему предоставляется не на всех хостингах. По сути это планировщик заданий, который системные адмниистраторы используют для резервирования данных, очистки временных директорий и т.п. Подробности в темах по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3861
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4321

   
 
 автор: Царь   (14.11.2005 в 18:47)   письмо автору
 
   для: cheops   (14.11.2005 в 17:10)
 

Существуют ли функции задержки, что-нибудь вроде wait или sleep? И если существуют, можно ли их использовать как замену Крону? Не будет ли скрипт сьедать ресурсы во время ожидания?

   
 
 автор: Царь   (14.11.2005 в 18:48)   письмо автору
 
   для: cheops   (14.11.2005 в 17:10)
 

Существуют ли функции задержки, что-нибудь вроде wait или sleep? И если существуют, можно ли их использовать как замену Крону? Не будет ли скрипт сьедать ресурсы во время ожидания?

   
 
 автор: Akira   (14.11.2005 в 20:46)   письмо автору
 
   для: Царь   (14.11.2005 в 18:48)
 

sleep - это задержка. Пока она не пройдет процесс будет в системе. Если не долго, то думаю позволительно. Но больше 5 минут - уже бессмысленно - это ме ИМХО.
Проще использовать посещаемуб страницу и поставить туда запуск вашего скрипта после прошествия опр. времени.

   
 
 автор: cheops   (15.11.2005 в 00:48)   письмо автору
 
   для: Царь   (14.11.2005 в 18:48)
 

Да можно использовать sleep() - у неё единственный параметр - число секунд, на которое останавливается скрипт. Причём это время не учитывается как время работы скрипта и никаких действий не выполняется.

   
 
 автор: coloboc66   (15.11.2005 в 11:11)   письмо автору
 
   для: cheops   (15.11.2005 в 00:48)
 

Сатьи по ссылкам я почитал, но так и не понял конкретно, для чего этот cron был бы полезен мне, если я пользуюсь хостингом? Ну дайте простой пример, который все объяснит.

   
 
 автор: Loki   (15.11.2005 в 12:41)   письмо автору
 
   для: coloboc66   (15.11.2005 в 11:11)
 

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

   
 
 автор: cheops   (15.11.2005 в 13:58)   письмо автору
 
   для: coloboc66   (15.11.2005 в 11:11)
 

Автоматическое обновление базы данных из XML-файла с другого сайта.
Рассылка писем или отчётов в строго определённое время.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования