我目前使用了一个CMS系统来构建网站
我发现它每隔一段时间(可以设置的)就能更新动态页面为静态页面
我想问下,这是怎么实现的?
因为源代码是被ZEND加密的,解密后也没有了注释说明,要完全读懂恐怕花的时间也会很长我现在想做这样的事情:每天晚上0点更新数据库的某个字段,每周日晚上0点更新.....这该如何实现呢?说明:我没有权限执行crontab,at,task之类的命令如能提供思路或者代码,重谢!

解决方案 »

  1.   

    使用Ajax请求PHP程序,PHP程序当然就开始运行啦。
    触发他的运行必须有访问请求。
      

  2.   

    function update_day_hits(){
    .....
    }
    function update_week_hits(){
    ......
    }function update_mounth_hits(){
    .....
    }
    date_default_timezone_set("Asia/Shanghai"); 
    $now=getdate();
    $ss=mktime(0,0,0,$now["mon"],$now["mday"]+1,$now["year"])-time();
    echo("将开始自动更新前一天点击数,前一周点击数,前一月点击数字段!");
    sleep(ss);
    update_day_hits();
    while(1) {
      sleep(86400);
       $now1=getdate();
       if($now1["mday"])==1) {update_mounth_hits();}
       if($now1["wday"])==6) {update_week_hits();}
       update_day_hits();
    }
    我这样写是否可以,当服务器启动的时候,当然那服务器我无法控制,我就浏览下这个页面。
    ---------------------------------------
    使用Ajax请求PHP程序,PHP程序当然就开始运行啦。
    触发他的运行必须有访问请求。
    ---------------------------------------
    我不大理解,能否说得更详细些呢?
      

  3.   

    上面的代码漏掉下面两句ignore_user_abort(true);//连接中断后继续执行程序
    set_time_limit(0);
      

  4.   

    哈哈,上面sleep里的ss前面还漏掉一个$
      

  5.   

    自己的服务器的话可以用crontab设置定时执行任务
      

  6.   

    不是自己服务器,那要有人去浏览了才能执行,可以用Ajax偷偷执行
      

  7.   

    可以制作一个小程序,比如用vb里面有浏览网页的控件,直接加上参数,在什么时间浏览那几个网页,然后生成一个小的exe放在一个电脑上一直开着,就行了,呵呵
      

  8.   

    要服务器的schedule才行。认为触发,有可能出现空档期。
      

  9.   

    Linux服务器的话Server端用Crond服务定时执行SH脚本
      

  10.   


    ignore_user_abort(true);//连接中断后继续执行程序
    set_time_limit(0);用这个方法就能实现了。
      

  11.   

    sleep就能完成PHP的计划任务了,不过要执行一次该代码页面,然后可以随时关闭,以后只要服务器没有重启,它都将一直发挥作用!可以用ajax去激活它一次就好了。这样就能免去手动执行的麻烦!
      

  12.   

    忘记在哪看到。访问页面触发任务 谁访问?    在自己的机子上或者公司机子建立计划任务( windows linux 都可以)定时访问网站。
      

  13.   


    恩恩,可以远程登陆的那种
    bat文件定时访问网站如何写啊。。
      

  14.   

    http://fireinwind.javaeye.com/blog/706367这篇文章也许对你有帮助!
      

  15.   


    的确不错,讲了很多!可惜!目前可以做到如下:
      我在每个页面都插入了iframe,当然其宽高都为0,该iframe检查一个内存块变量(使用shmop),看该内存块是否存在该值,如果不存在,则再访问某个页面,让其执行任务。
      的确在刚开始的几十分钟里(这个时间不确定)可以看到该进程
       但是在今天这个时候也就是很晚了,发现这个进程不存在了
    所以这个方法存在缺点,看看还有什么好的解决方案
    我倒是想到,查看服务器进程的方法来决定是否访问那个页面
    可惜我不知道怎么查看那个进程
    我看到在空间商的cpannel里是可以做出来的搜索了下,也没有相关文章
    哪位高手说说看