
代码小册子
iamjunjie
PHP程序员一枚
展开
-
jQuery ajax跨域异步请求
有时候我们会遇到跨域异步请求,比如统计一个静态站的访问量,有的人认为javascript是不能跨域的,其实不然,jQuery就可以跨域,下面是对jQuery.ajax跨域使用的一个简单介绍。先看一段javascript代码:jQuery.ajax({ url:'http://cms.juren.com.cn/?action=news!click', dataType:'原创 2012-06-13 16:13:22 · 3161 阅读 · 0 评论 -
通过IP地址获取地理位置信息
本方法通过淘宝的一个开源服务实现的,代码如下:#通过IP地址获取地理位置信息$ip = $_SERVER['REMOTE_ADDR'];echo 'ip:' . $ip;$url = "http://ip.taobao.com/service/getIpInfo.php?ip={$ip}";$ip = json_decode(file_get_contents($url));if((st转载 2013-07-08 17:48:47 · 3154 阅读 · 0 评论 -
PHP 日期处理
a - "am" 或是 "pm"A - "AM" 或是 "PM"d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"D - 星期几,三个英文字母; 如: "Fri"F - 月份,英文全名; 如: "January"h - 12 小时制的小时; 如: "01" 至 "12"H - 24 小时制的小时; 如: "00" 至 "23"g - 12 小时转载 2013-07-08 13:13:18 · 651 阅读 · 0 评论 -
PHP FTP上传文件
第一步:建立一个新的 FTP 连接。 ftp_connect(host,port,timeout); host必需,规定要连接的 FTP 服务器,可以是域名或 IP 地址,后面不应以斜线结尾,前面也不需要用 ftp:// 开头。 port可选,规定 FTP 服务器的端口。 timeout可选,规定该 FTP 服务器的超时时间,默认是 90 秒。 返原创 2012-06-04 21:25:10 · 3897 阅读 · 0 评论 -
javascript日历工作计划 dhtmlxscheduler的说明和使用
一、简介dhtmlxScheduler是一个JavaScript日程安排控件,类似于Google日历,日历事件通过Ajax动态加载,支持通过拖放功能调整事件日期和时间,事件可以按天,周,月三个种视图显示。官方网站:http://www.dhtmlx.com/在线帮助文档:http://docs.dhtmlx.com/doku.php?id=dhtmlxscheduler:toc下载原创 2013-05-09 10:21:30 · 9748 阅读 · 1 评论 -
javascript 过滤数组重复元素
javascript过滤数组重复元素的方法有很多种,本篇博客提供其中的两种方法。一:函数过滤function array_unique(data){ var data = data || []; var obj = {}; for(var i=0,j=data.length; i<j; i++){ var v = data[i]; if(typeof(obj[v]) ==原创 2013-05-07 16:41:26 · 836 阅读 · 0 评论 -
如何使网页瞬间变成灰色
国家发生大的灾难时很多网站瞬间都变成了灰色,怎么做到的呢,本文将介绍一种方法,如下:CSS代码:html { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%);转载 2013-04-24 16:57:19 · 885 阅读 · 0 评论 -
PHP的ArrayAccess接口 像数组一样来访问你的PHP对象
如果想让对象使用起来像一个PHP数组,那么我们需要实现ArrayAccess接口ArrayAccess是一个interface,实现这个interface,必须要实现以下几个方法:/** * 标识一个元素是否定义 * @param offset */abstract public function offsetExists ($offset) {}/**原创 2013-02-27 19:35:47 · 5873 阅读 · 0 评论 -
Apache加载php模块
LoadModule php5_module "D:/DevelopEnvironment/PHP5.3.10/php5apache2_2.dll"AddType application/x-httpd-php .php .phtmlPHPIniDir "D:/DevelopEnvironment/PHP5.3.10"原创 2013-02-20 10:06:07 · 3413 阅读 · 0 评论 -
PHP创建目录函数
/** * 创建目录 * * @param string $dirPath 目录路径 * @return true成功,false失败 */public function makeDir($dirPath){ //处理目录 $dirPath = trim($dirPath, DS); (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') &&原创 2013-06-25 10:39:56 · 733 阅读 · 0 评论 -
PHP将字符串中英文状态的双引号替换成中文状态的双引号
/** * 将字符串中英文状态的双引号转换成中文状态的双引号 * * 1、注意双引号要成对出现 * * @param string $str 字符串 * @return string 转换后的字符串 */public final function enQuotes2cnQuotes($str){ return preg_replace('/"([^"]*)"/', '“${1原创 2013-06-27 11:32:16 · 4829 阅读 · 0 评论 -
javascript 删除数组元素并且数组长度减小
/** * 通过值删除数组元素 * * @param mixed value 元素值 * @returns array */Array.prototype.deleteValue = function(value){ var i = 0; for(i in this){ if(this[i] == value) break; } return this.slice(0,原创 2013-07-26 18:16:05 · 4225 阅读 · 0 评论 -
邮件阅读总数统计小技巧
项目中不乏对邮件阅读总数的统计,本文就介绍一种简单的方法,来统计邮件的阅读总数。邮件是有邮件内容的,可以在邮件内容中加上这样的一段内容,如下:给邮件内容拼接一个img标记,src是统计阅读总数方法的地址和参数,style设置这个图片不可见。这样用户在打开邮件的时候img的src就会访问统计阅读总数的方法,在方法中写自己的业务逻辑就可以实现统计。经过测试ie下是不行的,因为ie开原创 2012-10-30 11:35:52 · 1686 阅读 · 0 评论 -
数据列表分页思想
一:示例代码示例代码是用PHP编写的,但分页的思想是一样的。 分页 <?php $page = isset($_GET['page']) ? $_GET['page'] : 1; echo "第{$page}页原创 2013-09-18 17:00:25 · 1117 阅读 · 0 评论 -
javascript apply和call方法作用和区别
一、call和apply的说明 1、call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为方法的属性,那它们的使用就当然是针对方法的了,这两个方法是容易混淆的,因为它们的作用一样,只是使用方式不同原创 2013-09-12 12:49:18 · 873 阅读 · 0 评论 -
PHP中的$this到底指向谁?
class A { public function test(){ echo ''; var_dump($this); echo ''; $this->testB(); }}class B extends A{ private $flag = 'B'; public function testA(){ die('testA'); } public functio原创 2013-09-09 17:10:32 · 5319 阅读 · 0 评论 -
关于html元素disabled和readonly的介绍
1、两个属性的外观区别2、readonly和disabled可以锁定控件,在界面上无法修改元素的值(但是通过javascript可以修改)。3、基本上所有的元素都有disabled属性,但是不一定有readonly属性,比如select。4、点击被readonly掉的按钮照样可以触发事件,但是被disabled掉的按钮就无法使用了不管上面有没有事件。原创 2013-09-07 09:54:05 · 2098 阅读 · 0 评论 -
PHP生成二维码
PHP生成二维码的方式有多种,可以利用google开放的API,可以利用php QR Code类库生成,本文着重介绍使用php QR Code类库来生成二维码。1、代码包下载地址:http://sourceforge.net/projects/phpqrcode/2、下载下来的压缩包里面有很多示例,可以自行研究,下面给出一个简单的使用案例:include "phpqrcode/phpqrc转载 2013-08-16 10:16:46 · 742 阅读 · 0 评论 -
PHP创建桌面快捷方式
$shortCut = "[InternetShortcut]URL=http://blog.youkuaiyun.com/justflyhighIDList=[{000214A0-0000-0000-C000-000000000046}]Prop3=19,2";Header("Content-type: application/octet-stream");header("Content-Di转载 2013-08-12 12:59:01 · 1710 阅读 · 0 评论 -
PHP递归树
一、数据表category_id int 分类编号(自增)name varchar(50) 分类名parent_id int 父级编号,根目录的父级编号是0(默认0)二、读取树/** * 获取分类目录树 * * @param int $pid 父级编号 * @return array 目录树,parent父级分类,child子分类,level当前分类级别 */func原创 2013-05-20 14:25:13 · 4372 阅读 · 0 评论 -
PHP COOKIE及时生效的方法
通常,php里要浏览器刷一下才能出现cookie,怎么才能让cookie及时生效呢,下面分享一个让cookie及时生效的一个方法,很实用,代码如下:/** * 设置cookie * @param string $name 键名 * @param mixed $value 值 * @param int $expire 过期时间,默认是一天 */public final转载 2013-02-19 08:53:20 · 1419 阅读 · 0 评论 -
javascript 屏蔽右键和F5、F12键
//屏蔽鼠标右键document.oncontextmenu = function(e){ return false;};//屏蔽 f5 f12document.onkeydown = function(e){ var e = e || event; var nums = [116,123]; for(var i in nums){原创 2012-08-07 09:21:11 · 591 阅读 · 0 评论 -
php 二维数组排序
function array_sort($array, $key, $sort = 'desc'){ $tmpArray = $resultArray = array(); foreach ($array as $k => $v){ $tmpArray[$k] = $v["$key"]; } strtolower($sort) == 'as原创 2012-07-23 16:33:54 · 310 阅读 · 0 评论 -
php 判断字符串中是否含有html标签
function judgeHtml($str){ if($str != strip_tags($str)){ echo '有'; }else{ echo '无'; }}judgeHtml('a');echo '';judgeHtml('a');输出:有 无原创 2012-07-02 14:36:35 · 3971 阅读 · 0 评论 -
php 生成验证码
//验证码个数$num = 4;//验证码宽度 $width = 80;//验证码高度 $height = 20;//验证码 注意是字符串$code = ' ';//生成验证码for($i=0; $i switch (rand(0, 2)){ case 0: //数字转载 2012-06-28 15:16:37 · 448 阅读 · 0 评论 -
javascript 终止函数执行
1、如果终止一个函数的用return即可,实例如下:function testA(){ alert('a'); alert('b'); alert('c');}testA(); 程序执行会依次弹出'a','b','c'。function testA(){ alert('a'); return; alert('b');原创 2012-06-27 10:59:15 · 21364 阅读 · 0 评论 -
标题中含有关键字的数据显示到前面,内容中含有关键字的数据显示到后面
项目中我们经常会遇到根据关键字从文章的标题和内容搜索这样的需求,搜索的结果标题中含有关键字的数据要排在前面,内容含有关键字的数据排在后面,本文实现了一种方式。function getData($page, $key){ $limit = 20; $start = (intval($page) - 1) * $limit; $titleSql = "select *原创 2012-06-21 17:09:44 · 854 阅读 · 0 评论 -
PHP strip_tags()去除HTML、XML以及 PHP 的标签
语法:strip_tags(string,allow);string必需,规定要检查的字符串。allow可选,规定允许的标签,这些标签不会被删除。注释:该函数始终会剥离HTML注释,这点无法通过allow参数改变。实例: $str = "Hello world!"; echo strip_tags($str); echo ''; echo原创 2012-06-14 08:54:19 · 1508 阅读 · 0 评论 -
设置PHP脚本执行超时的时间方法
php.ini 中缺省的最长执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定,倘若你有一个需要颇多时间才能完成的工作,例如要发送很多电子邮件给大量收件者,或者要进行繁重的数据分析工作,服务器会在 30 秒后强行中止正在执行的程序,如何解决这个问题呢,有如下方法:一、在php.ini里面设置 max_execution_time = 1800;转载 2012-06-12 17:36:56 · 766 阅读 · 0 评论 -
PHP 字符串中特殊符号的过滤
有时候我们会遇到过滤字符串中特殊字符的问题,本文提供了一个处理特殊字符串的方法,可能有遗漏,如果读者发现了可以留言告诉我,谢谢。function strFilter($str){ $str = str_replace('`', '', $str); $str = str_replace('·', '', $str); $str = str_replace('~',原创 2012-06-07 17:03:55 · 3729 阅读 · 1 评论 -
mysql 全国省(市)/县地区数据
CREATE TABLE `province` ( `id` INT(11) DEFAULT NULL, `name` VARCHAR(50) DEFAULT NULL) ENGINE=INNODB DEFAULT CHARSET=utf8;/*省份*/insert into province values(1,'北京市'); insert into provinc转载 2012-07-27 15:59:11 · 7941 阅读 · 0 评论 -
php 把数组按指定的个数分隔
/** * * 把数组按指定的个数分隔 * @param array $array 要分割的数组 * @param int $groupNum 分的组数 */public function splitArray($array, $groupNum){ if(empty($array)) return array(); //数组的总长度原创 2012-07-02 12:47:03 · 2527 阅读 · 0 评论 -
关于投票ip限制的一种手段
项目中有这样的一个功能,截图如下:1、不用多说大家都应该明白这是一个什么样的功能,其实就是一个投票。2、要求是要限制用户的ip,一个用户只能投一次。3、用户第一次投票提示投票成功并且所支持方的票数要累计一,再次投票提示用户您已经投过了。4、页面在加载完以后如果用户投过票,所支持方是active状态,反对方是gray状态。经过分析,要获取用户的两个数据:ip和他支持方的标记,原创 2012-09-28 15:05:47 · 6117 阅读 · 0 评论 -
PHP中关于数组的函数
(1)sort/asort/ksort(&$array)共同点:三个函数都是引用传值,对数组进行升序排序,成功返回true,失败返回false。不同点:sort按数组中的值进行排序,为数组中的元素赋予新的键名,原有的键名将被删除,例如: $test = array('c' => 'c', 'a', 'b'); sort($test);原创 2013-01-05 23:38:24 · 484 阅读 · 0 评论 -
javascript 分析url处理搜索参数
搜索是我们经常做的一个功能,有的搜索需要处理很多的参数,例如:商城中的商品可以根据商品分类、品牌、颜色、价格等等条件来搜索,这些搜索条件还有一个定的关系。问题来了,我们怎么记录所有的搜索条件呢?我们可以用cookie用session,但是个人觉得用这些方法都不好(曾经被这种记录参数的方式折磨过)。我觉得用url传递参数最好处理,我们可以定义一个javascript函数专门来处理ur原创 2012-12-13 17:13:05 · 671 阅读 · 0 评论 -
PHPMailer简单使用说明
/** * PHPMailer发送邮件 * @param $mails 接收邮件账号 * @param $title 邮件标题 * @param $content 邮件内容 */public function phpMailerSend($mail, $title, $content){ //设置程序执行时间 set_time_limit(P原创 2012-12-25 14:08:05 · 700 阅读 · 0 评论 -
php+mysql 生成统计报表
项目中有这样一个需求,把页面分成一个一个的板块,然后统计各个板块在30天内的点击数,生成一个报表,如下图:mysql获取数据的代码://结束时间 年月日$endTime = date('Y-m-d');//开始时间 年月日 前30天日期$startTime = date('Y-m-d', (strtotime($endTime) - 30*24*60*60));//循环原创 2012-12-11 11:57:18 · 5991 阅读 · 1 评论 -
PHP中addslashes和stripslashes的应用
addslashes()和stripslashes()正好是相反的,addslashes()加个\(反斜杠),stripslashes()去个\(反斜杠)。向mysql写入数据时,如:mysql_query("update tableName set `title`='goaler's blog'");PHP将会报错,因为数据库对单引号过敏。PHP考虑到其安全性,引入了magic_quot原创 2012-12-04 15:40:48 · 634 阅读 · 0 评论 -
PHP 获取客户端IP
项目中我们经常要获取客户端的IP地址,本文提供一种方法,如下:/** * 获取客户端IP地址 */function getIP(){ if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')){ $ip = getenv('HTTP_CLIENT_IP');转载 2012-11-15 09:49:44 · 381 阅读 · 0 评论 -
php 判断服务器的操作系统
一:php有许多系 统预定义变量,通过判断他们可以简单的判断服务器系统是 windows还是*unix, 其中相关的函数或者预定义变量如下: php_uname()、PHP_OS、DIRECTORY_SEPARATOR、PHP_SHLIB_SUFFIX、PATH_SEPARATOR二:实例: if(strtolower(substr(PHP_OS,转载 2012-11-26 21:28:50 · 1531 阅读 · 0 评论