PHP定时更新程序设计思路分享
现在回想起来,我以前的想法是错误的,网页的执行流程
打开WEB页面 —- 加载HTML代码 (包括CSS,javascript)— 执行PHP代码 — 完成
粗约的就先理解成上面的这个样子。
我们都知道PHP做成服务器端的脚本,它是有超时设置的,可以通过 set_time_limit() 函数来处理。但这样处理PHP代码十分
消耗CPU资源。所以不建议通过循环处理PHP代码来实现。
一般的情况是用javascript来处理。
$(function(){
var tims = 1000*60*60*10; //设置延迟处理的时间,这里设置的是10个小时
setInterval(function(){
//要执行的码
$.post("./data.php",{ postdata },function(datas){
if(id.data == 1)
{
$("body").append(id.info+"<br/>");
}
});
},tims);
},json);
上面是WEB前台要执行的javascript代码,通过延时执行ajax来达到自动处理的效果
php后台处理代码,就简单了,只要接受从前台POST过来的数据就可以了。然后将数据处理后存入数据库。
就这么简单,只是,页面不能关,这个你可以理解成软件的后台程序。
其实一个软件分为:前端,后端,服务器端。前端和后端都是在你电脑上运行的。
腾讯软件后台程序
后台程序只有通过任务管理器才监控的到,但它都做了什么事?你根本就不知道。
360才能如“工蜂”般窃取你的隐私,QQ才能获取的cookie。
不多说了,这样是软件设计模式的一种,能懂就可以了。
相关推荐
-
php使用COPY函数更新配置文件的方法
本文实例讲述了php使用COPY函数更新配置文件的方法.分享给大家供大家参考.具体如下: _saveconfig.php文件如下: <?php /* * File: _saveconfig.php * * Modified: 2010-7-11 * By:liulang * 说明:涉及到两个文件:_saveconfig.php和config.php当对后台的一些全局配置变量进行更新时, * 就更改后台的config.php然后通过这个文件更改前台的config.php文件(前后台文件都一样),
-
PHP中copy on write写时复制机制介绍
什么是写时复制(Copy On Write)? 答:在复制一个对象的时候并不是真正的把原先的对象复制到内存的另外一个位置上,而是在新对象的内存映射表中设置一个指针,指向源对象的位置,并把那块内存的Copy-On-Write位设置为1.这样,在对新的对象执行读操作的时候,内存数据不发生任何变动,直接执行读操作:而在对新的对象执行写操作时,将真正的对象复制到新的内存地址中,并修改新对象的内存映射表指向这个新的位置,并在新的内存位置上执行写操作. 这个技术需要跟虚拟内存和分页同时使用,好处就是在执行复
-
php实现的CSS更新类实例
本文实例讲述了php实现的CSS更新类及其用法,非常实用.分享给大家供大家参考.具体如下: CSSUpdate.class.php类文件如下: <?php /** css 更新类,更新css文件内图片的版本 * Date: 2013-02-05 * Author: fdipzone * Ver: 1.1 * * Func: * update(); * * Ver: 1.1 增加search_child参数,可遍历子文件夹 */ class CSSUpdate{ private $csstmpl_
-
PHP中调用SVN命令更新网站方法
想说写一个通过网页就可以执行 SVN 升级的程序,结果并不是我想得那样简单,有一些眉角需要注意的说. 先以 Apache 的用户帐号执行 SVN checkout,这样 Apache 才有 SVN 的链结权力,才可以通过网页执行 SVN update 复制代码 代码如下: su -s /bin/bash www-data cd /var/www svn checkout http://www.xxx.com/svn/my_site 在用 PHP 执行 shell 指令前要加上 exp
-
PHP 之 写时复制介绍(Copy On Write)
在开始之前,我们可以先看一段简单的代码: 复制代码 代码如下: <?php //例一 $foo = 1; $bar = $foo; echo $foo + $bar; ?> 执行这段代码,会打印出数字2.从内存的角度来分析一下这段代码"可能"是这样执行的:分配一块内存给foo变量,里面存储一个1: 再分配一块内存给bar变量,也存一个1,最后计算出结果输出.事实上,我们发现foo和bar变量因为值相同,完全可以使用同一块内存,这样,内存的使用就节
-
PHP更新购物车数量(表单部分/PHP处理部分)
表单部分: 复制代码 代码如下: <form action="?action=edit_num" method="post" name="car<?php $c_rs['id'];?>" id="car<?php $c_rs['id'];?>"> <input name="suliang[<?php echo $c_rs['sp_id'];?>]" ty
-
php强制更新图片缓存的方法
本文实例讲述了php强制更新图片缓存的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /** 強制更新圖片緩存 * @param Array $files 要更新的圖片 * @param int $version 版本 */ function force_reload_file($files=array(), $version=0){ $html = ''; if(!isset($_COOKIE['force_reload_page_'.$ve
-
php不使用copy()函数复制文件的方法
本文实例讲述了php不使用copy()函数复制文件的方法.分享给大家供大家参考.具体如下: 下面的代码不使用php内置的copy函数,直接通过文件读取写入的操作方式复制文件 <?php function copyfiles($file1,$file2){ $contentx =@file_get_contents($file1); $openedfile = fopen($file2, "w"); fwrite($openedfile, $contentx); fclose($o
-
PHP定时更新程序设计思路分享
现在回想起来,我以前的想法是错误的,网页的执行流程 打开WEB页面 -- 加载HTML代码 (包括CSS,javascript)- 执行PHP代码 - 完成 粗约的就先理解成上面的这个样子. 我们都知道PHP做成服务器端的脚本,它是有超时设置的,可以通过 set_time_limit() 函数来处理.但这样处理PHP代码十分 消耗CPU资源.所以不建议通过循环处理PHP代码来实现. 一般的情况是用javascript来处理. 复制代码 代码如下: $(function(){ var tim
-
利用jQuery及AJAX技术定时更新GridView的某一列数据
看到一个问题:定时更新GridView的某一列中的状态文本.马上就有了思路:GridView最后会生成表格,所以我们在页面中通过Ajax更新表格的列,从而达到ajax更新GridView的效果. 具体实现: 准备一个xml文件,用于存储要更新的数据,在页面中启动一个定时器,每隔5秒钟调用一个函数,函数里边通过$.ajax获取xml中的数据,解析xml,遍历表格行,匹配要更新的数据,更新. getuserlist.xml 定义一个UserList的根节点,下边每个UserItem对应一条数据,UI
-
Python采集代理ip并判断是否可用和定时更新的方法
网上有很多免费的ip地址,都是可以使用的,但是如果手动来获取太麻烦,这里通过Python自动抓取,可以批量获取. 代码如下: # -*- coding: utf-8 -*- import re import urllib2 import json import os import time import socket class ProxyIp(object): def __init__(self): self.path = os.path.split(os.path.realpath(__fi
-
MySQL大库搭建主从的一种思路分享
这个周忙的就像打仗一样,感觉有点被别人牵着鼻子走了,每天都是早出晚归,干不完的活儿,有时候感觉DBA这碗饭真的不好吃,要有强大的抗压能力和心理承受能力.今天下午吃饭的时候,真的感觉整个人快要垮掉了,吃完饭就依然决然的下班了,走在路上,看着下班的人群,心想这不就是正常的下班时间么,为什么我还有种早走惭愧的感觉?可能整个人都被洗脑了吧. 这个周的公众号内容更新也是耽搁了两天,周二那天实在是太累了,就直接休息了. 昨晚要走的时候,大概九点多,工作了一天比较累,然后就大脑不听使唤,弄了一个故障,把线上一
-
MySQL单表千万级数据处理的思路分享
项目背景 在处理过程中,今天上午需要更新A字段,下午爬虫组完成了规格书或图片的爬取又需要更新图片和规格书字段,由于单表千万级深度翻页会导致处理速度越来越慢. select a,b,c from db.tb limit 10000 offset 9000000 但是时间是有限的,是否有更好的方法去解决这种问题呢? 改进思路 是否有可以不需要深度翻页也可以进行数据更新的凭据? 是的,利用自增id列 观察数据特征 此单表有自增id列且为主键,根据索引列查询数据和更新数据是最理想的途径. select
-
C#中一个高性能异步socket封装库的实现思路分享
前言 socket是软件之间通讯最常用的一种方式.c#实现socket通讯有很多中方法,其中效率最高就是异步通讯. 异步通讯实际是利用windows完成端口(IOCP)来处理的,关于完成端口实现原理,大家可以参考网上文章. 我这里想强调的是采用完成端口机制的异步通讯是windows下效率最高的通讯方式,没有之一! 异步通讯比同步通讯处理要难很多,代码编写中会遇到许多"坑".如果没有经验,很难完成. 我搜集了大量资料,完成了对异步socket的封装.此库已用稳定高效的运行几个月. 纵观网
-
详解SpringBoot通用配置文件(不定时更新)
以下是SpringBoot项目中的常用配置类.jar包坐标等通用配置 pom文件 <!-- --> <!-- 自定义配置文件提示 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true<
-
vue实现主题切换的多种思路分享
动态改变主题 首先需要解决的是如何知道你需要显示哪个主题,并且可以动态切换.我选择的方法是queryString. 我们打开url的时候,可以在后面缀上?theme=xx,读取这个xx储存起来即可. 第一种办法:动态组件 当主题的路由并没有发生变化,仅是组件内部的样式,功能发生了变化,我们可以将一个组件复制一遍,修改完后,通过懒加载和动态组件实现. // 页面组件 <template> <div> <component :is="themeName" /&
-
MySQL更新,删除操作分享
目录 一.更新 二.删除 一.更新 UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2,... WHERE 条件; 把id为12所对应的名字改为老哈: update users SET name = '老哈' where id = 12; 二.删除 通过DELETE可以删除表中的一条记录或者多条记录 DELETE FROM 表名 WHERE 条件; 删除id等于9所对应的数据: DELETE FROM users WHERE id = 9; 删除所有数据: DELETE F
-
SQL Server远程定时备份数据库脚本分享
经常会有定时备份SQL Server数据库的需要.定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里. 下面就分享一份在网上找了之后,自己再简单整理过的代码,配合 SQL Server 代理中的作业功能,已经稳定运行一个星期了,每小时就备份一次. 复制代码 代码如下: -- 创建网络映射(Y是盘符:IP地址后面要带共享文件夹的名称:password是密码,双引号引起:account是远程电脑的登录名) exe
随机推荐
- Swift学习教程之访问控制详解
- 浅谈es6语法 (Proxy和Reflect的对比)
- Java太阳系小游戏分析和源码详解
- MyBatis中使用$和#所遇到的问题及解决办法
- PHP+Javascript实现在线拍照功能实例
- PHP实现WebService的简单示例和实现步骤
- 自己编写的类似JS的trim方法
- GO语言基本类型分析
- C++单例模式应用实例
- MySQL 查询结果取交集的实现方法
- MySQL服务器的启动和关闭
- MySQL大表中重复字段的高效率查询方法
- Docker基础 :网络配置详解
- js 对小数加法精度处理示例说明
- jsp中page指令用法详解
- jQuery 核心函数以及jQuery对象
- Android编程实现AIDL(跨进程通信)的方法详解
- PHP调用C#开发的dll类库方法
- 详解Android的.aar文件生成方法以及使用技巧
- 解决vue 中 echart 在子组件中只显示一次的问题