2019年11月27日 | 标签:

 

excel使用len和lenb得到的数字是一样
可是明明我输入的是含中文和英文的啊
后来才知道是因为excel的语言版本 要选择中文
他才让你使用一些中文才用的到的函数

在EXCEL开始键-选项
图片地方的
主要编辑语言 选 中国 即可查看更多精彩图片

excel使用len和lenb得到的数字是一样
可是明明我输入的是含中文和英文的啊
后来才知道是因为excel的语言版本 要选择中文
他才让你使用一些中文才用的到的函数

在EXCEL开始键-选项
图片地方的
主要编辑语言 选 中国 即可查看更多精彩图片

2019年11月26日 | 标签:

定时执行php的原理 最好的是利用操作系统的功能

用php的话会一直占用内存去计算(比如给php设置一个初始值 然后sleep多少秒执行一次) 这样的方法php会一直允许 当有几百个任务的时候 内存就耗尽

还有一种就是操作系统法  操作系统内部都有定时器 liunux有大名鼎鼎的cron 在windows中是 计划任务

本例就是在windows下面定时允许php的方法

定时任务的原理

1.单击“开始”按钮,然后依次选择“程序”→““控制面板”→“任务计划”),启动Windows 2003的任务计划管理程序。

查看更多精彩图片

1选择你要定期执行的文件 windows里面就用bat批处理文件 后面交代了写法
查看更多精彩图片

2先选择每天执行 然后再重复

查看更多精彩图片

 

3这里要输入执行的权限 用的管理员的帐号密码

查看更多精彩图片

4打开高级属性

查看更多精彩图片

5选择日程安排下的高级

查看更多精彩图片

6这里你可以选择重复

查看更多精彩图片

附赠bat文件和php文件的写法

写php注意网上的代码的双引号要换成英文的 还有分号

当然你开启display error的时候看到语法错误 第一个就要想到标点中英文问题

 

每隔一分钟 自动执行php文件 写入到txt文件中

 

1、 编辑如下代码,并保存为test.php:
<?php
$fp = @fopen(“test.txt”, “a+”);
fwrite($fp, date(“Y-m-d H:i:s”) . ” PHP代码自动运行!\r\n”);
fclose($fp);
?>

就这段代码 网上的全部是错的 原因就是里面的双引号 是中文输入法的双引号

可能是最开始的版本是正确的 但是有的cms自动替换安全的中文双引号 就导致这个结果

txt文件的换行是\r\n

在写php的过程中 也碰到一个查错的问题 所以在php的配置文件php。ini里面 打开报错展示

 display_errors = On

 

同时最好顺便把时区也交代下
date.timezone = “Asia/Shanghai”

 

新建一个文本文件,打开输入:”D:\php4\php.exe” -q “D:\php4\test.php ” 保存为.bat格式(注意空格)。
D:\php4\php.exe 是php安装路径下的那个文件,具体路径修改成自己的,D:\php4\test.php是要定时运行的程序的路径。
2、添加一个任务计划,选择那个.bat文件

3、时间设置为每隔1分钟运行一次,然后运行这个任务。

每分钟运行这里也是有技巧的

右键点新任务 选属性-日程安排-高级-选重复时间 如图 搞定

查看更多精彩图片

4、现在我们来看看d:\php4\test.txt文件的内容时候是否成功。如果内容为如下所示,那么恭喜你成功了。

定时执行php的原理 最好的是利用操作系统的功能

用php的话会一直占用内存去计算(比如给php设置一个初始值 然后sleep多少秒执行一次) 这样的方法php会一直允许 当有几百个任务的时候 内存就耗尽

还有一种就是操作系统法  操作系统内部都有定时器 liunux有大名鼎鼎的cron 在windows中是 计划任务

本例就是在windows下面定时允许php的方法

定时任务的原理

1.单击“开始”按钮,然后依次选择“程序”→““控制面板”→“任务计划”),启动Windows 2003的任务计划管理程序。

查看更多精彩图片

1选择你要定期执行的文件 windows里面就用bat批处理文件 后面交代了写法
查看更多精彩图片

2先选择每天执行 然后再重复

查看更多精彩图片

 

3这里要输入执行的权限 用的管理员的帐号密码

查看更多精彩图片

4打开高级属性

查看更多精彩图片

5选择日程安排下的高级

查看更多精彩图片

6这里你可以选择重复

查看更多精彩图片

附赠bat文件和php文件的写法

写php注意网上的代码的双引号要换成英文的 还有分号

当然你开启display error的时候看到语法错误 第一个就要想到标点中英文问题

 

每隔一分钟 自动执行php文件 写入到txt文件中

 

1、 编辑如下代码,并保存为test.php:
<?php
$fp = @fopen(“test.txt”, “a+”);
fwrite($fp, date(“Y-m-d H:i:s”) . ” PHP代码自动运行!\r\n”);
fclose($fp);
?>

就这段代码 网上的全部是错的 原因就是里面的双引号 是中文输入法的双引号

可能是最开始的版本是正确的 但是有的cms自动替换安全的中文双引号 就导致这个结果

txt文件的换行是\r\n

在写php的过程中 也碰到一个查错的问题 所以在php的配置文件php。ini里面 打开报错展示

 display_errors = On

 

同时最好顺便把时区也交代下
date.timezone = “Asia/Shanghai”

 

新建一个文本文件,打开输入:”D:\php4\php.exe” -q “D:\php4\test.php ” 保存为.bat格式(注意空格)。
D:\php4\php.exe 是php安装路径下的那个文件,具体路径修改成自己的,D:\php4\test.php是要定时运行的程序的路径。
2、添加一个任务计划,选择那个.bat文件

3、时间设置为每隔1分钟运行一次,然后运行这个任务。

每分钟运行这里也是有技巧的

右键点新任务 选属性-日程安排-高级-选重复时间 如图 搞定

查看更多精彩图片

4、现在我们来看看d:\php4\test.txt文件的内容时候是否成功。如果内容为如下所示,那么恭喜你成功了。

2019年11月24日 | 标签:

 

php周期运行在liunux很简单 但是在windows就不容易了 主要通过计划任务 但是计划任务只能设置固定的运行间隔时间 比如我想设置每隔3天运行  过段时间我又想改为每隔2天运行  这样就要去修改计划任务

能不能只修改php代码 就实现自定义的运行间隔时间呢 答案是可以的

交代原理

在php文件目录下创建一个txt文件 然后设置这个php是每天运行, 在txt文件中的第一行设置一个1/3这样的数 每次运行一次分子就加一变成2/3 每次运行分子加一 然后求余数 如果余数为0 就允许 那么分母就是要每个n天运行的间隔

通过php可以修改这里的分母 每次允许可以修改分子为5

 

$contents=file_get_contents(“db.txt”);
$firstline=explode(“*”,$contents,3);//1/3
$firstline1=explode(“/”,$firstline[1]);//$firstline[1]=1/3
$f0=(int)$firstline1[0];//已经运行的天数$firstline1[0]
$f1=(int)$firstline1[1]; //已经运行的运行间隔天数 $firstline1[1]
$firstline1[0]++;
$new=$firstline1[0].”/”.$firstline1[1];
$old=$firstline[1];
$contents=str_replace($old,$new,$contents);
file_put_contents(“db.txt”,$contents);
if ($f0%$f1!==0) echo “还可以再偷懒”.($f1-$f0%$f1).”天”;
else
echo “开始干活了”;

php周期运行在liunux很简单 但是在windows就不容易了 主要通过计划任务 但是计划任务只能设置固定的运行间隔时间 比如我想设置每隔3天运行  过段时间我又想改为每隔2天运行  这样就要去修改计划任务

能不能只修改php代码 就实现自定义的运行间隔时间呢 答案是可以的

交代原理

在php文件目录下创建一个txt文件 然后设置这个php是每天运行, 在txt文件中的第一行设置一个1/3这样的数 每次运行一次分子就加一变成2/3 每次运行分子加一 然后求余数 如果余数为0 就允许 那么分母就是要每个n天运行的间隔

通过php可以修改这里的分母 每次允许可以修改分子为5

 

$contents=file_get_contents(“db.txt”);
$firstline=explode(“*”,$contents,3);//1/3
$firstline1=explode(“/”,$firstline[1]);//$firstline[1]=1/3
$f0=(int)$firstline1[0];//已经运行的天数$firstline1[0]
$f1=(int)$firstline1[1]; //已经运行的运行间隔天数 $firstline1[1]
$firstline1[0]++;
$new=$firstline1[0].”/”.$firstline1[1];
$old=$firstline[1];
$contents=str_replace($old,$new,$contents);
file_put_contents(“db.txt”,$contents);
if ($f0%$f1!==0) echo “还可以再偷懒”.($f1-$f0%$f1).”天”;
else
echo “开始干活了”;