正文
php相同数据执行3次 php相同数据执行3次函数
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
请教:如何用PHP程序限制一个IP地址一天只能投票3次呢?
1、可以用MySQL 或者用Nosql记录 新建一个投票IP的数据表,字段是IP,投票次数;
2、每次用户投票时,搜索表是否存在该IP:
i、 如果不存在新增一条记录,
ii、否则判断访问次数是否大于3次:
1) 没有更新访问次数;
2)大于3次就return false;
3、弊端:当然这种情况不能避免使用代理来刷票的情况。
建议:用Nosql比较好,高并发,实时性好。
php 同时!多次!执行同一段代码去查数据 怎么做
给你几个建议:
再找找其他的接口试试看,现在网上貌似有很多这种通用的快递查询接口。即可以查很多个快递公司的快递的接口。(这个是最重要的一点,接口如果本身慢,你技术再强也没有办法解决的)
实在找不到,可以直接用在百度界面抓取一下试试看。可以起多个进程去抓。(我看百度界面查的就不慢)
技术上 建议你不要用 file_get_contents 这种方式去获取信息,页面很容易卡死。 使用curl 的方式比较好,设置好超时。用户体验会好些。
第二技术建议,做一层查询缓存。即同一个查询单号查过一次后,将结果缓存下来,一定时间内不再直接向接口请求查询。这样降低你直接向接口查询的次数。
你一次性要查一批单号吗?为什么不是每次请求查一个单号呢?
如果业务非要查一批的话,你就得重新设计你的实现方案了。 应该采用多进程的设计方案来实现了。 应该同时启动多个php进程进行查询。
求 php 循环执行大量数据 解决办法。
你用网页的方式,让人点击,服务器采集,简直是弱爆了。每个人的点击循环1000次,来个100人同时点,你要用的是普通的虚拟机就不行了。
最好是换种方式实现,不要通过网页进行采集。
可以非常简单的在数据库的表,创建一个采集队列,后台执行一个crontab的计划任务,去完成队列里的采集任务。
PHP重复执行的原因
你得先把你的代码贴出来。
一般来说这和ajax本身没有关系。如果你关掉IE,然后在web服务器上看到的php的进程只有一个,那说明你的Php程序要不还在处理很多数据,要不就是出现无限循环。
php 1分钟内用户最多可提交3次表单,多于3次则5分后才能再次提交,不用数据库
$sta = 0;
if($_SESSION['time']){
if(time() - $_SESSION['time'] 60){
if($_SESSION['sub_num'] = 2 ){
$sta = 1;
}else{
if(time() - $_SESSION['time'] 5*60){
$_SESSION['time'] = time();
$_SESSION['sub_num'] = 0;
$sta = 1;
}
}
}else{
$_SESSION['time'] = time();
$_SESSION['sub_num'] = 0;
$sta = 1;
}
}else{
$_SESSION['time'] = time();
$_SESSION['sub_num'] = 0;
$sta = 1;
}
if($sta){
$_SESSION['sub_num'] = $_SESSION['sub_num'] + 1;
//可以提交
}else{
//不可以提交
}
大致就这么个意思 自己看着改吧
请教一个PHP重复执行的问题
这段程序应当符合你的要求,
只是写了一个想法,加也相应的说明,自己调试一下试试。
?php
$i = 0;
/*
$i 记录循环的次数
*/
$array_use = array();
/*
~~~
这是一系列的代码
~~~~
*/
echo 'table
tr';
$count = count($array_use);
/*
数组的元素个数
*/
foreach($array_use as $temp){
/*
执行相应的动作
*/
echo 'td width="50%" /td';
$i++;
if(($i % 2 == 0) and $i != $count){
echo '/trtr';
}
}
if($i % 2 != 0){
echo 'td width="50%" /td';
}
/*
如果数组循环完毕未输出对应的 td 此处给于补全
*/
echo '/tr
/table';
?
关于php相同数据执行3次和php相同数据执行3次函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。