21

PHP创建TXT文件

fwrite(file,string,length)

file     必需。规定要写入的打开文件。
string     必需。规定要写入文件的字符串。
length     可选。规定要写入的最大字节数。

fwrite() 返回写入的字符数,出现错误时则返回 false。

fclose(file)

file 参数是一个文件指针。fclose() 函数关闭该指针指向的文件。如果成功则返回 true,否则返回 false。

Posted in PHP
21

PHP函数获取客户端真实IP方法

两种PHP写法获取客户端真实IP方法:

本地测试获取的IP一般为::1这是正常的,在远程服务器中此方法是可用的

Host映射查看方法 C:\Windows\System32\drivers\etc  文件hosts

由于客户端可以篡改IP,所以在使用此方法获取的IP要进行过滤。

下面是获取到的客户端IP再获取客户端的地理信息(省份、地区、经纬度)

 

20

JS获取当前域名

<script language="javascript">
//获取域名
host = window.location.host;
host2=document.domain;

//获取页面完整地址
url = window.location.href;

document.write("<br>host="+host)
document.write("<br>host2="+host2)
document.write("<br>url="+url)
</script>

20

jQuery对象与dom对象相互转换

什么是jQuery对象?

—就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法。

比如:

$("#test").html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法

这段代码等同于用DOM实现代码:

document.getElementById("id").innerHTML;

虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错。比如:$("#test").innerHTML、document.getElementById("id").html()之类的写法都是错误的。

还有一个要注意的是:用#id作为选择符取得的是jQuery对象与document.getElementById(“id”)得到的DOM对象,这两者并不等价。请参看如下说的两者间的转换。

既然jQuery有区别但也有联系,那么jQuery对象与DOM对象也可以相互转换。在再两者转换前首先我们给一个约定:如果一个获取的是 jQuery对象,那么我们在变量前面加上$,如:var $variab = jQuery对象;如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于讲解与区别,实际使用中并不规定。

jQuery对象转成DOM对象:

两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);

(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。

如:var $v =$("#v") ; //jQuery对象

var v=$v[0]; //DOM对象

alert(v.checked) //检测这个checkbox是否被选中

(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象

如:var $v=$("#v"); //jQuery对象

var v=$v.get(0); //DOM对象

alert(v.checked) //检测这个checkbox是否被选中 Continue reading

10

CSS(background)背景色渐变

垂直渐变:上->下
垂直渐变:下->上
水平渐变:左->右
水平渐变:右->左

IE系列

filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#00BFFF',endColorStr='#0000CD',gradientType='0');

参数:startColorStr起始颜色 endColorStr结束颜色 gradientType为0时代表垂直,为1时代表水平

Firefox

background: -moz-linear-gradient(top, #00BFFF, #0000CD);

参数:top、bottom垂直,left、right水平 例如:top时从顶部由#00BFFF到#0000CD渐变,bottom时从底部由#00BFFF到#0000CD渐变

Opera

background: -o-linear-gradient(top,#00BFFF, #0000CD);

参数:top、bottom垂直,left、right水平 例如:top时从顶部由#00BFFF到#0000CD渐变,bottom时从底部由#00BFFF到#0000CD渐变

webkit,如Chrome、Safari等

background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#00BFFF), to(#0000CD));

参数:linear线性, x1 x2, x3 x4 x1与x3相同时垂直,x2与x4相同时水平 from起始颜色 to结束颜色

07

使用JS改变a标签中的href链接与图片src链接方法

一、原生JS直接改变a标签链接与图片src链接(JS一定要在欲改变的源码之后加载)

原始图片是tulip.jpg,改变后的图片myimg.jpg。
a标签改变后的链接是http://mrdede.com/

二、引入jQuery方法改变a标签链接与图片src链接(应该是任意jQuery版本都可以,JS一定要在欲改变的源码之后加载)

原始图片是tulip.jpg,改变后的图片myimg.jpg
a标签改变后的链接是http://mrdede.com/
原始文本是“织梦先生”,改变后文本是“百度”
其中加了判断,当前可使用屏幕宽度小于768时,改变图片链接、a标签链接和文本内容。

24

HTML5+JavaScript实现仿微信摇一摇效果

在HTML5中,DeviceOrientation特性所提供的DeviceMotion事件封装了设备的运动传感器时间,通过改时间可以获取设备的运动状态、加速度等数据(另还有deviceOrientation事件提供了设备角度、朝向等信息)。

而通过DeviceMotion对设备运动状态的判断,则可以帮助我们在网页上就实现“摇一摇”的交互效果。

事件监听

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo.html

把监听事件绑定给 deviceMotionHandler

获取设备加速度信息 accelerationIncludingGravity

将加速度信息打印置页面,通过演示地址可以看到随着设备的移动,屏幕上数字的变化。

 

摇晃判断

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo_1.html

“摇一摇”的动作既“一定时间内设备了一定距离”,因此通过监听上一步获取到的x, y, z 值在一定时间范围内的变化率,即可进行设备是否有进行晃动的判断。而为了防止正常移动的误判,需要给该变化率设置一个合适的临界值。

100毫秒进行一次位置判断,若前后x, y, z间的差值的绝对值和时间比率超过了预设的阈值,则判断设备进行了摇晃操作。

 

然后通过上面2个演示,然后再增加点样式效果,即可模拟一个简单的微信摇一摇界面。

应用演示:简易模拟微信摇一摇

演示地址(手机浏览):http://mrdede.com/UploadFiles/demo/js/shake/demo_2.html

20

dedeCMS数据库操作类中$dsql的使用方法与实例

dedecms二次开发中对数据库操作类的使用尤为重要,下面是对数据库操作类的一些简单说明和实例。

引入common.inc.php文件

查询某表是否存在,存在返回TRUE,否则返回FALSE

获取一条记录的内容

将查询获取总数输出

将查询的若干条记录输出

将查询的若干条记录输出dedecms5

插入一条记录

经实践证明,上面的语句不能正常插入数据库,下面是正确的语句

删除一条记录

更新一条记录

判断获取数据库内容的常用方法

获取总数

关闭数据库

实例 Continue reading

15

本地win7下使用phpStudy集成环境配置IIS7+PHP+phpMyAdmin+MySQL(20151102更新)

错误提示信息:
install/remove of the service denied
#2002 无法登录 MySQL 服务器
错误1053 服务没有及时响应启动或控制请求

弄了一宿,真的很难很难呀!转着很大的圈儿,疯了疯了!

前些年一直在用wamp,操作简单,本地调试单个网站足够用了。从今年年初开始使用了phpStudy集成环境,PHP版本多,用着还不错。

最近帮人改一个asp源码样式,需要本地测试,结果安装上了IIS。可昨天闲着没事,实然想起这phpStudy也可以把IIS与PHP集成的功能,弄上了是一个问题接着一个问题,自己还不想放弃。

系统:wid7 IIS7.x 买好几年了,配置过时了但还不舍。
环境:phpStudy集成环境(2014版集合24种环境自由选择)

win7下安装IIS是傻瓜式安装,网上方法多的是,就不说了,我也没碰到问题;

配置PHP模块:

手动配置cgi模式(php5.4/5.3)
1.创建并配置php.ini,同上2。
2.打开IIS7,在主面板中双击处理程序映射,然后在右侧菜单中点击“添加模块映射…”(之前我就添加错了,添加的脚本映射),设置如下:
请求路径:*.php;
模块:FastCgiModule;
可执行文件:php文件夹中的php-cgi.exe;
名称:php;
3.完成!
(还有其它方法,但我认为这是最方便的)
建立站点,在根目录新建info.php测试文件,内容为<?php phpinfo(); ?>,测试是否成功。

配置MySQL:

将MySQL 添加到服务中。
在C:\Windows\System32\文件夹下找到cmd.exe,右键单击cmd.exe, 选择“以管理员身份运行”(或“Run as administrator”),窗体左上角显示“管理员:C:\…”,进入路径(这是我的路径,你的路径我就不知道了,哈哈): d:\tool\phpStudy\mysql\bin>
输入 mysqld –install MySQL –defaults-file=”C:\Windows\my.ini”
如果提示:Service successfully installed.
说明MySQL服务已经添加系统服务成功。
如果提示:install/remove of the service denied
可能是你没有使用管理员身份运行cmd.exe

***************************************

2015 年11月,由于本人笔记本用得比较狠,前几天突然卡死(蓝屏),提示是硬盘出现问题,但是用DELL自身的硬件检测,并没有发现任何问题,可是由于数据很 重要,而且之前在使用中也时不时的出现“无响应”现象,所以果断决定换个固态硬盘太小的真的没意义呀,还不如多花点钱买个差不多的,所以在某宝上买了个镁 光480G的,不是最贵最好的,但是从各方面看,适合我,1000元、存储空间正好。

换了硬盘就得重做系统,硬盘来的时候是让老板给做得系统,windows10,还怕我电脑带不了呢,回来接上试用还可以,各方面都没有不兼容的现象发生,这点很满意。

新系统,我这配置本地测试环境得折腾个把月的,才能完全的配置好,并且适应在新环境下的工作。

使用集成环境相对的好配置一些,使用phpStudy很长时间了,直到刚才才知道phpStudy有集成的IIS+MySQL环境,但是晚了,而且想想,如果不用集成的IIS还是不用得好。

这次到了把MySQL服务配来系统服务这步卡住了(1067错误),合着是卡了有两天了。反正到现在是弄好了,具体是什么原因、怎么弄好的,我也说不清。

昨天安装完MySQL服务后不好使,我也再删再安了几次,都没有好。今天只是把昨天安装的windows功能给删除重新安了一次后,删除MySQL服务后,又安装MySQL服务,就好了。

还忘说了些事,也可能是很重要的,我今天把my.ini文件放到c:\windows\目录下了,所有有很多文章和方法,但是都没有说这一点,也不知道是用不着呀?还是都是照一个人抄的。切记切记!!!

还是以管理员身份打开cmd.exe,目录到d:\tool\phpStudy\mysql\bin>

删除MySQL到系统服务中的方法:mysqld -remove

安装MySQL到系统服务中的方法:mysqld -install

***************************************

cmd的一些命令(不区分大小写):
输入 d: 按回车,直接进入D盘;
输入 cd tool\phpStudy\mysql\bin 按回车,进入bin文件夹;
输入 cd\ 按回车,返回根目录,如D盘或C盘;
输入 cd.. 按回车,返回上一级目录;
输入 dir 按回车,显示当前文件夹内的文件夹和文件名。
(这些cmd命令够用了)

配置phpMyAdmin:

由 于phpStudy的IIS7/8+PHP5xx的phpMyAdmin的默认链接是http://localhost:8980/phpmyadmin /index.php,所以现在在IIS中建立站点,端口是8980,路径为D:\tool\phpStudy\WWW\。
要注意的是一定要把WWW做为些站点的根目录,phpmyadmin为站点的一级目录。

说到这里,如果正常的话,就已经配置成功了。

说说我的一些错误:

(这 里是错误的方法)由于phpStudy的phpMyAdmin是在网站内部的,我就想着这回可以在IIS中给他单独建立站点(端口设置8080)就可以访 问了,于是乎错误就此开始了,倒是可以访问到http://localhost:8080/index.php,登录不进去,提示“#2002 无法登录 MySQL 服务器”,想一想,后来到网上搜了搜,发现是没有启动MySQL服务。

在配置MySQL时,最初我是没有用管理员身份打开cmd.php,我是直接在运行中输入cmd后进入的cmd窗体,可能是这个原因。在启动MySQL时报错:错误1053 服务没有及时响应启动或控制请求。

转 回头使用链接http://localhost:8080/index.php,还是无法连接MySQL,又是一阵搜,没什么好的结果。就想着在 phpStudy的配置项中找找原因,无意间点了下“MySQL管理器”,发现他的链接是http://localhost:8980 /phpmyadmin/index.php,我都蒙了,以为是我在IIS中建立站点的端口号怎么给写成8980了呢,查看一下,是8080,又一想是不 是之前使用Apache时建立的根目录站点的端口号是8980,查看几个,发现在没有。这下放心了,我可以直接在IIS中改端口号和路径,理论上通过了, 实际一改,成功了!!!

13

JavaScript常用函数收集

脑袋不好使就多记笔记,收集了一些比较常用的javascript函数,以备急用。

字符串长度截取

替换全部

清除空格

清除左空格/右空格

判断是否以某个字符串开头

判断是否以某个字符串结束

转义html标签

时间日期格式转换

判断是否为数字类型

设置cookie值

获取cookie值

加入收藏夹

设为首页

加载样式文件

返回脚本内容

清除脚本内容

Continue reading