php 模拟用户自动在qq空间发表文章
代码如下 | 复制代码 |
<?php //模拟get post请求函数
//表单输出,没有提交时
header('Content-Type:text/html;charset=gb2312'); //获取cookie文件,不存在创建,并退出程序 //构成发表页,post数据等的重要信息 $title=empty($_POST['title'])?die('标题不得空'):$_POST['title'];//文章标题 $category='个人日记';//分类
$_POST['title']---文章标题,不得空 |
首先验证的时候产生一个sessionid;
代码如下 | 复制代码 |
<?php Session_start(); $sessionId = session_id();//得到sessionid //将session下发给客户端 ......... ?> |
客户端携带sessionid这个变量来请求数据
代码如下 | 复制代码 |
<?php Session_id(‘$sessionid’);//注意这个时候session_id()这个函数是带有参数的 Session_start();//这个函数必须在session_id()之后 ?> |
多服务器共享session问题,这个大家应该都能够理解的,当一个网站的用户量过大,就会使用服务器集群,例如专门有一个登录用的服务器。用户通过登录服务器登录之后,登录服务器保存了用户的登录信息session,而其他受访问的服务器,例如电影服务器没有这个session,那么我们就要通过一个session的唯一标识来共享这个session了
本文章简单的介绍了一下关于百度地图的应用,这里我介绍一个功能就是在自己定的层上给加个事件方法,有需要的参考一下。给marker、lable、circle等Overlay添加事件很简单,直接addEventListener即可。那么,自定义覆盖物的事件应该如何添加呢?我们一起来看一看~
代码如下 | 复制代码 |
// 定义自定义覆盖物的构造函数 function SquareOverlay(center, length, color){ this._center = center; this._length = length; this._color = color; } // 继承API的BMap.Overlay |
代码如下 | 复制代码 |
// 实现初始化方法 |
代码如下 | 复制代码 |
// 实现绘制方法 |
代码如下 | 复制代码 |
//添加自定义覆盖物 |
代码如下 | 复制代码 |
SquareOverlay.prototype.show = function(){ |
代码如下 | 复制代码 |
mySquare.show(); |
// 实现隐藏方法
代码如下 | 复制代码 |
SquareOverlay.prototype.hide = function(){ if (this._div){ this._div.style.display = "none"; } } |
mySquare.hide();
代码如下 | 复制代码 |
SquareOverlay.prototype.yellow = function(){ |
mySquare.yellow();
代码如下 | 复制代码 |
<div style="width:520px;height:340px;border:1px solid gray" id="container"></div> |
代码如下 | 复制代码 |
// 实现显示方法 |
六、如何给自定义覆盖物添加点击事件(这章重要!很多人问的)
代码如下 | 复制代码 |
SquareOverlay.prototype.addEventListener = function(event,fun){ |
代码如下 | 复制代码 |
mySquare.addEventListener('click',function(){ |
代码如下 | 复制代码 |
mySquare.addEventListener('mousemover',function(){ |
代码如下 | 复制代码 |
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>自定义覆盖物的点击事件</title> 6 <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script> 7 </head> 8 <body> 9 <div style="width:520px;height:340px;border:1px solid gray" id="container"></div> 10 <p> 11 <input type="button" value="移除覆盖物" onclick="mySquare.hide();" /> 12 <input type="button" value="显示覆盖物" onclick="mySquare.show();" /> 13 <input type="button" value="变成黄色" onclick="mySquare.yellow();" /> 14 </p> 15 </body> 16 </html> 17 <script type="text/javascript"> 18 var map = new BMap.Map("container"); // 创建Map实例 19 var point = new BMap.Point(116.404, 39.915); // 创建点坐标 20 map.centerAndZoom(point,15); // 初始化地图,设置中心点坐标和地图级别。 21 22 //1、定义构造函数并继承Overlay 23 // 定义自定义覆盖物的构造函数 24 function SquareOverlay(center, length, color){ 25 this._center = center; 26 this._length = length; 27 this._color = color; 28 } 29 // 继承API的BMap.Overlay 30 SquareOverlay.prototype = new BMap.Overlay(); 31 32 //2、初始化自定义覆盖物 33 // 实现初始化方法 34 SquareOverlay.prototype.initialize = function(map){ 35 // 保存map对象实例 36 this._map = map; 37 // 创建div元素,作为自定义覆盖物的容器 38 var div = document.createElement("div"); 39 div.style.position = "absolute"; 40 // 可以根据参数设置元素外观 41 div.style.width = this._length + "px"; 42 div.style.height = this._length + "px"; 43 div.style.background = this._color; 44 // 将div添加到覆盖物容器中 45 map.getPanes().markerPane.appendChild(div); 46 // 保存div实例 47 this._div = div; 48 // 需要将div元素作为方法的返回值,当调用该覆盖物的show、 49 // hide方法,或者对覆盖物进行移除时,API都将操作此元素。 50 return div; 51 } 52 53 //3、绘制覆盖物 54 // 实现绘制方法 55 SquareOverlay.prototype.draw = function(){ 56 // 根据地理坐标转换为像素坐标,并设置给容器 57 var position = this._map.pointToOverlayPixel(this._center); 58 this._div.style.left = position.x - this._length / 2 + "px"; 59 this._div.style.top = position.y - this._length / 2 + "px"; 60 } 61 62 //4、显示和隐藏覆盖物 63 // 实现显示方法 64 SquareOverlay.prototype.show = function(){ 65 if (this._div){ 66 this._div.style.display = ""; 67 } 68 } 69 // 实现隐藏方法 70 SquareOverlay.prototype.hide = function(){ 71 if (this._div){ 72 this._div.style.display = "none"; 73 } 74 } 75 76 //5、添加其他覆盖物方法 77 //比如,改变颜色 78 SquareOverlay.prototype.yellow = function(){ 79 if (this._div){ 80 this._div.style.background = "yellow"; 81 } 82 } 83 84 //6、自定义覆盖物添加事件方法 85 SquareOverlay.prototype.addEventListener = function(event,fun){ 86 this._div['on'+event] = fun; 87 } 88 89 //7、添加自定义覆盖物 90 var mySquare = new SquareOverlay(map.getCenter(), 100, "red"); 91 map.addOverlay(mySquare); 92 93 //8、 为自定义覆盖物添加点击事件 94 mySquare.addEventListener('click',function(){ 95 alert('click'); 96 }); 97 </script> |
1、下载memcache 放到自己的盘符下面 例如:d:memcached
2、开始->cmd->输入命令d:memcachedmemcached.exe -d install 安装
3、安装完成后输入d:memcachedmemcached.exe -d start
4、下载php_memcache.dll,注意自己的php版本的文件 放到你的php下的ext/下面
5、在php.ini 加入一行 extension=php_memcache.dll
6、重启apache 查看你的phpinfo里面是否有memcache,如果有就说明成功安装
7、测试代码
代码如下 | 复制代码 |
<?php |
如果输出了“test memcache successfull”说明安装成功了。
php_memcache.dll下载:php_memcache-cvs-20090703-5.3-VC6-x86.zip
memcache安装文件下载:memcached-1.2.1-win32.zip
一个朋友写的一款目录查找程序,可以根据用户输入的目录名称查到到指定目录或文件,同时还支持锁定目录哦,有需要的朋友可以参考一下。
代码如下 | 复制代码 |
<?php function __construct($key){ function find($folder){ return $this->result; $findata = substr($fd,$pos,$this->previewLen); if($bSub && is_dir($f)){ $cur_path = dirname(__FILE__); $cf = new Finder($key); $in_folder = array(); echo "搜索[$key]结果:<br />"; $folder = array(); readFolder($cur_path); = |
相关文章
- php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
- 这篇文章主要介绍了解决IDEA占用C盘空间过大的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
- 当来访者浏览器语言是中文就进入中文版面,国外的用户默认浏览器不是中文的就跳转英文页面。 <?php $lan = substr( $HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == "zh-cn") print("<meta http-equiv='refresh' c...2015-11-08
- 【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
- 一个用Javascript检测用户输入密码强度的效果代码,以下代码主要是从以下四个方面检测用户输入的密码的强度的,有兴趣的朋友可以自己添加或修改成自己想要的形式! 1. 如果输入的密码位数少于5位,那么就判定为弱。 2. 如果...2015-10-23
- 这是注册程序是一款当用户输入完用户名是,就会自动去数据库中查询用户要注册的用户名是否己经被注册了,如果是返回提示否则提示可以注册。 conn.php文件 代...2016-11-25
- 这篇文章主要给大家介绍了关于微信小程序用户授权最佳实践的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-08
- 这篇文章主要给大家介绍了关于Swift中命名空间的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-30
- cookie 的用途之一是存储用户在特定网站上的密码和 id。另外,也用于存储起始页的首选项。在提供个人化查看的网站上,将要求阁下的网络浏览器利用阁下计算机硬驱上的少量...2016-11-25
- 这篇文章主要介绍了c# 如何使用 My 命名空间,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2020-12-08
- 知识归纳因为MySQL是使用User和Host两个字段来确定用户身份的,这样就带来一个问题,就是一个客户端到底属于哪个host。 如果一个客户端同时匹配几个Host,对用户的确定将按照下面的优先级来排 基本观点越精确的匹配越优先...2015-11-08
- 这篇文章主要介绍了sqlserver添加sa用户和密码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-07
- 这篇文章主要介绍了Redis swap空间的使用示例,帮助大家更好的理解和学习使用Redis数据库,感兴趣的朋友可以了解下...2021-03-25
- 注册页面是大多数网站必备的页面,所以很有必要对自己的注册页面做些精心的设计。下面三张图,第一张是注册的展示页面,第二张思维导图就一个简单的逻辑,第三张是通过firebug查看调用的JS文件。 一、给每个输入框写下说明在...2015-11-24
- namespace即“命名空间”,也称“名称空间” 、”名字空间”。接下来通过本文给大家介绍JavaScript中命名空间namespace模式的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧...2016-06-24
- 这篇文章主要介绍了C# 命名空间(Namespace)的相关知识,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以参考下...2020-11-03
- 装完数据库清理一些默认账号的时候不小心把root删除了,flush privileges 之后的新 root 忘了grant任何权限,查看mysqld选项里面有个 −−skip-grant-tables复制代码 代码如下: #/usr/libexec/mysqld --verbos...2015-03-15
- 这篇文章主要介绍了Redis开启键空间通知实现超时通知的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-15
Win2012服务器 远程桌面帐户允许多用户同时登录的配置方法
这篇文章主要介绍了Win2012服务器 远程桌面帐户允许多用户同时登录的配置方法,需要的朋友可以参考下...2016-11-01