HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Запуск скрипта с определенным периодом
  #1  
Старый 03.01.2010, 23:57
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
С нами: 9623364

Репутация: 28
По умолчанию Запуск скрипта с определенным периодом

Имею скрипт вывода информации через инклуд с определенным интервалом:

PHP код:
<?
$filetime
=lstat('content.txt'); // Получаем массив информации о файле 
$cur=time()-$filetime[9]; // Получаем время прошедшее с последней модификации файла 
if ($cur>86400// Если прошло больше 2500 секунд, то делаем запрос к БД 

$f=fopen('content.txt','w');  

// Все echo заменяем на $out.=  
// Чтобы собрать в эту переменную все данные которые надо выводить 

$host "";    // MySQL server
$user_db "";        // MySQL пользователь
$pass_db "";            // MySQL пароль
$dbase "";        // MySQL база данных
$dtable "";        // Таблица в базе данных

error_reporting(E_ALL);

mysql_connect ($host$user_db$pass_db); 
mysql_select_db($dbase); 

$sql "SELECT link_id, images, catid, rand() AS rnd FROM $dtable WHERE catid=499 GROUP BY link_id ORDER BY rnd LIMIT 6"
$result mysql_query($sql); 
$rows mysql_num_rows($result); 
$out=""
if ((!
$rows) || ($rows 1)) {$out.="Результатов НЕТ!!!";} 
else { 
      
$out.="Заголовок моей инфы"
      while(list(
$id_link$images) = mysql_fetch_row($result)) { 
  
$out.="<a href='$id_link.html'><img src='$images'></a>"

       } 
$out.="Конец моей инфы"
fwrite($f,$out);fclose($f); // Записываем в файл 


echo 
file_get_contents('content.txt'); // Всегда выводим содержимое файла 



?>
Как сделать, чтобы скрипт запускался сам с определенным интервалом без инклуда?

P.S. Крон хостинга не предлагать
 
Ответить с цитированием

  #2  
Старый 04.01.2010, 00:06
Dr1ver
Участник форума
Регистрация: 20.08.2008
Сообщений: 137
С нами: 9328362

Репутация: 184
По умолчанию

Может быть вечный цикл while(1) где нибудь sleep(секунд) и посмотри ignore_user_abort
 
Ответить с цитированием

  #3  
Старый 04.01.2010, 00:10
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
С нами: 8835027

Репутация: 150
По умолчанию

PHP код:
<?php // функция запуска скрипта через определенный интервал времени (аналог cron)
    
ignore_user_abort(); // запускаем скрипт в фоновом режиме
    
set_time_limit(0); // запускаем скрипт всегда
    
$interval=60*15// интервал в секундах (сейчас установлено 15 минут)
    
do
        {
               
// собсно пишем сам скрипт..... тот, который хотим выполнять каждые 15 минут, например отправку письма с ругательствами плохому человеку или что-то по-сложнее (вобщем все зависит от вашей фантазии)...
sleep($interval); // инициируем интервал запуска скрипта
        
}
while(
true);
?>
(c) Google
 
Ответить с цитированием

  #4  
Старый 04.01.2010, 00:14
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
С нами: 9623364

Репутация: 28
По умолчанию

Благодарю! Пробую!

Цитата:
запускаем скрипт всегда
Большая ли нагрузка на сервер создается при этом?

А как быть с safe mode?

Последний раз редактировалось serg-php; 04.01.2010 в 00:21..
 
Ответить с цитированием

  #5  
Старый 04.01.2010, 00:31
Zedi
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
С нами: 9963746

Репутация: 392
По умолчанию

нагрузка будет большая, некоторые хосты это не любят)0 safe_mode = off
 
Ответить с цитированием

  #6  
Старый 04.01.2010, 00:37
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
С нами: 9623364

Репутация: 28
По умолчанию

Такой вариант не подходит!
 
Ответить с цитированием

  #7  
Старый 04.01.2010, 05:22
xxx-xxx
Новичок
Регистрация: 12.11.2006
Сообщений: 25
С нами: 10259975

Репутация: 19
По умолчанию

http://cronjob.ru
 
Ответить с цитированием

  #8  
Старый 04.01.2010, 09:50
ReduKToR
Постоянный
Регистрация: 05.01.2009
Сообщений: 684
С нами: 9130007

Репутация: 485


По умолчанию

В панели хостинга найти вкладку CRON и установи нужное значение и путь до скрипта.
Или как написано постом выше - ты может воспользоваться, бесплатным сервисом cronjob.ru
 
Ответить с цитированием

  #9  
Старый 04.01.2010, 11:31
suser
Познающий
Регистрация: 30.12.2009
Сообщений: 38
С нами: 8612423

Репутация: 18
По умолчанию

Инклудь скрипт другим скриптом с др хостинга и обрывый соединение, а другой через паузу пусть запускает первый,

или

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

Всё зависит от паузы
 
Ответить с цитированием

  #10  
Старый 05.01.2010, 01:38
serg-php
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
С нами: 9623364

Репутация: 28
По умолчанию

Цитата:
В панели хостинга найти вкладку CRON и установи нужное значение и путь до скрипта.
Видимо, это оптимальный вариант!
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск скрипта из консоли Legion342 PHP 4 04.09.2009 20:49
Запуск скрипта PHP Viper_007 PHP 9 13.01.2009 01:23
Запуск Perl скрипта из командной строки Prince_Dark Windows 10 20.07.2007 12:37



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.