2020-10-28
php和js实现根据子网掩码和ip计算子网功能示例

php和js实现根据子网掩码和ip计算子网功能示例

本文实例讲述了php和js实现根据子网掩码和ip计算子网功能。分享给大家供大家参考,具体如下: php <?php $ip = '192.168.6.1'; $mask = '255.255.2.0'; $sub_net = array();//子网 $ip_explode = explode('.', $ip); $mask_explode = explode('.', $mask); foreach ($ip_explode as $key => $ip_num) { $sub_net[] = (int)$ip_num & (int)$mask_explode[$key]; } $sub_net = implode('.', $sub_net); echo $sub_net; 运行结果: 192.168.2.0 js <script> var ip = '192.168.6.1'; var mask = '255.255.255.0'; var sub_net = [];//子网 var ip_explode = ip.split('.'); var mask_explode = mask.split('.'); console.log('ip_explode='+ip_explode); console.log('mask_explode='+mask_explode); for (var i = 0, num = ip_explode.length; i < num; i++) { c = parseInt(ip_explode[i]) & parseInt(mask_explode[i]); console.log('c='+c); sub_net.push(c); } sub_net = sub_net.join('.'); console.log(sub_net); </script> 运行结果: 感兴趣的朋友可以使用在线HTML/CSS/JavaScript前端代码调试运行工具:http://tools.jb51.net/code/WebCodeRun测试上述代码运行效果。 PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴: 在线一元函数(方程)求解计算工具: http://tools.jb51.net/jisuanqi/equ_jisuanqi 科学计算器在线使用_高级计算器在线计算: http://tools.jb51.net/jisuanqi/jsqkexue 在线计算器_标准计算器: http://tools.jb51.net/jisuanqi/jsq 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结》 希望本文所述对大家PHP程序设计有所帮助。...
技术教程 710次浏览 0条评论
2020-10-26
php+js实现点赞功能的示例详解

php+js实现点赞功能的示例详解

最近在做一个视频网站,需要实现视频的点赞功能,我是结合ajax和数据库实现的,数据库的格式为有四个字段:文章id,赞,踩,ip。因为需要一个ip只能点赞一次,所以需要一个ip字段存储点赞的ip,这样便于判断该ip是否已经点赞过了; 我将点赞和踩的图片做成两个按钮;具体代码如下: <button style="margin-left:4px" id="vote" rel="<?php echo 文章id;?>"> <img src="点赞图片路径" alt="赞"> <span style="position:absolute;margin-top:6px;margin-left:2px;font-size:20px"> <span style="position:absolute;margin-top:-2px;margin-left:6px;font-size:20px"> <?php if(!$vnum){echo 0;}else{ echo 点赞次数;} ?> </span> </button> <button style="margin-left:38px;margin-top:1px;position:absolute" id="dvote" rel="<?php echo 文章id;?>"> <img src="踩图片路径" alt="踩" > <span style="position:absolute;margin-top:2px;margin-left:6px;font-size:20px"> <?php if(!$dnum){echo 0;}else{ echo 踩次数;} ?> </span> </button> js程序 <script type="text/javascript"> $(function(){ var id=$("#vote").attr('rel');//获取到文章id; $("#vote").click(function(){ $.get("传到哪个页面?id="+id,function(r){ alert(r); window.location.reload();//点赞成功后刷新页面更新新的点赞次数 }) }) $("#dvote").click(function(){ $.get("/news/dvote?id="+id,function(r){ alert(r); window.location.reload(); }) }) }) </script> 我是用ci框架写,所以在news.php下面的vote方法和dvote方法代表的是赞和踩,具体代码如下 public function vote(){ $id=$_GET['id']; $ip=getIP(); $getdata=$this->data_model; $data=$getdata->get_vote_ip($id,$ip); $msg=""; if(empty($data['ip']) || !$data['ip']){   $data=array('nid'=>$id,'vote'=>1,'ip'=>$ip);   $re=$getdata->insert_vote($data);   $msg.="点赞成功"; }else{   $msg.="一个ip只能操作一次"; } echo $msg; } public function dvote(){ $id=$_GET['id']; $ip=getIP(); $getdata=$this->data_model; $data=$getdata->get_vote_ip($id,$ip); //get_vote_ip($id,$ip),是在模型里面的查询该ip是否已经点赞过,具体代码 如下 //public function get_vote_ip($id,$ip){ // $query=$this->db->query("select * from 表名 where nid='{$id}' and ip='{$ip}'"); // $data=$query->result_array()[0]; // return $data; // } $msg=""; if(empty($data['ip']) || !$data['ip']){   $data=array('nid'=>$id,'dvote'=>0,'ip'=>$ip);   $re=$getdata->insert_vote($data);   $msg.="踩成功"; }else{   $msg.="一个ip只能操作一次"; } echo $msg; } 点赞可以实现以后,就是需要将点赞数据进行更新,首先需要在数据库查询该篇文章所以的点赞信息 //获取点赞信息 public function get_vote($id){ $query=$this->db->query("select * from tx_vote where nid='{$id}'"); $data=$query->result_array(); return $data; } 获取信息返回到 控制器里面将赞和踩的信息循环分别存入到数据库中然后分别计算新的数组长度就可以获取赞和踩的次数了,这样的再html页面输出就可以了 到此这篇关于php+js实现点赞功能的示例的文章就介绍到这了,更多相关php+js实现点赞功能内容请搜索梦主博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持梦主博客! ...
技术教程 730次浏览 0条评论
2020-10-6
HTML5视频自动循环播放代码和教程

HTML5视频自动循环播放代码和教程

如果需要在网页中添加视频,可以参考下面的代码,支持MP4视频自动循环播放。 代码一,纯HTML5视频自动循环播放 <!DOCTYPE HTML> <html> <body> <video controls="controls" loop="loop" autoplay="autoplay" style="width:100%;vertical-align:middle;"> <source src="movie.ogg" type="video/ogg" /> <source src="https://v.mifile.cn/b2c-mimall-media/71fa48c0e68fe732a3b7c28e1b33278d.mp4" type="video/mp4" /> </video> </body> </html> 不过火狐浏览器貌似默认禁止自动播放音频视频,需要到选项 → 隐私与安全 → 自动播放,设置允许音频和视频。 如果不设置就可以自动播放,可以使用代码二。 代码二,配合JS自动循环播放 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>HTML5视频自动循环播放</title> </head> <body> <video id="videoID" controls="controls" style="width:100%;vertical-align:middle;"> <source src="https://jdvodoss.jcloudcache.com/vodtransgzp1251412368/9031868223153446912/v.f30.mp4" type="video/mp4"/> </video> </body> <script type="text/javascript"> window.onload = function() { var local1=document.getElementById('videoID'); //获取,函数执行完成后local内存释放 local1.autoplay = true; // 自动播放 local1.loop = true; // 循环播放 local1.muted=true; // 关闭声音,如果为false,视频无法自动播放 if(local1.paused){ //判断是否处于暂停状态 local1.play(); //开启播放 } else { local1.pause(); //停止播放 } } function btn(){ var local=document.getElementById('videoID'); //获取,函数执行完成后local内存释放 if(local.paused){ //判断是否处于暂停状态 local.play(); //开启播放 } else { local.pause(); //停止播放 } } </script> </html> 不想显示播放控制按钮可以将controls="controls"删除。 代码中外链的广告视频,加载可能有点慢,换成自己的MP4视频。 其中:width:100%视频自动100%显示,vertical-align:middle用于消除视频下面的空隙。 参数属性 autoplay autoplay 如果出现该属性,则视频在就绪后马上播放。 controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。 height pixels 设置视频播放器的高度。 loop loop 如果出现该属性,则当媒介文件完成播放后再次开始播放。 preload preload 如果出现该属性,则视频在页面加载时进行加载,并预备播放。 如果使用 "autoplay",则忽略该属性。 src url 要播放的视频的 URL。 width pixels 设置视频播放器的宽度。 ...
技术教程 2582次浏览 0条评论
微信二维码