
php
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 评论 -
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 评论 -
借助第三方插件(有道)通过ip获取用户所在的地理位置
/** * 根据ip获取地址 * @param string $ip */ public function get_address_from_ip($ip){ $url = 'http://www.youdao.com/smartresult-xml/search.s?type=ip&q='; $xml = file原创 2012-10-30 16:23:43 · 1145 阅读 · 0 评论 -
php生成的html meta和link标记在body标签里 顶部有个空行
1.php中用smarty模板生成的html在浏览器中顶部有一空行.2.用firedebug发现 meta和link标记在body标签里.3.看了下源文件, 文本一样的. 但保存时提示编码问题.估计是utf-8问题了.4.在网上找了下, 是utf-8 BOM问题.5.解决方法: 用UltraEdit32把smarty模板文件即引用的模板文件(如include的header,foot转载 2012-09-24 13:15:01 · 1474 阅读 · 0 评论 -
关于投票ip限制的一种手段
项目中有这样的一个功能,截图如下:1、不用多说大家都应该明白这是一个什么样的功能,其实就是一个投票。2、要求是要限制用户的ip,一个用户只能投一次。3、用户第一次投票提示投票成功并且所支持方的票数要累计一,再次投票提示用户您已经投过了。4、页面在加载完以后如果用户投过票,所支持方是active状态,反对方是gray状态。经过分析,要获取用户的两个数据:ip和他支持方的标记,原创 2012-09-28 15:05:47 · 6117 阅读 · 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 评论 -
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 评论 -
标题中含有关键字的数据显示到前面,内容中含有关键字的数据显示到后面
项目中我们经常会遇到根据关键字从文章的标题和内容搜索这样的需求,搜索的结果标题中含有关键字的数据要排在前面,内容含有关键字的数据排在后面,本文实现了一种方式。function getData($page, $key){ $limit = 20; $start = (intval($page) - 1) * $limit; $titleSql = "select *原创 2012-06-21 17:09:44 · 854 阅读 · 0 评论 -
网上常见的简单投票代码
在网上我们经常能看到投票,本文就是介绍一个简单的投票如何做。1:代码变量介绍 $vote:题干实体。 $options:选项集合。2:前台部分代码及注释//题干 0 && $vote=$vote[0]):?> //操作选项原创 2012-05-26 10:34:14 · 8987 阅读 · 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 评论 -
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 评论 -
邮件阅读总数统计小技巧
项目中不乏对邮件阅读总数的统计,本文就介绍一种简单的方法,来统计邮件的阅读总数。邮件是有邮件内容的,可以在邮件内容中加上这样的一段内容,如下:给邮件内容拼接一个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 评论 -
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 评论 -
PHP json_decode函数
一、函数简介1、此函数有四个参数,一般在使用时会用到前两个,具体的参数可以看手册。2、第一个参数是json格式的字符串,第二个参数boolean值,false转化成对象,true转化成数组,默认false,如果转化失败返回null。二、问题在项目中调用了java写的一个web服务,返回的数据是"{'stauts':'1','message':'充值成功'}"。程序接收到返回数据原创 2013-09-09 10:50:09 · 1073 阅读 · 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将字符串中英文状态的双引号替换成中文状态的双引号
/** * 将字符串中英文状态的双引号转换成中文状态的双引号 * * 1、注意双引号要成对出现 * * @param string $str 字符串 * @return string 转换后的字符串 */public final function enQuotes2cnQuotes($str){ return preg_replace('/"([^"]*)"/', '“${1原创 2013-06-27 11:32:16 · 4829 阅读 · 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 评论 -
通过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 评论 -
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 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中func_num_args、func_get_arg和func_get_args都是返回函数实参信息相关的函数。func_num_args() 返回的是当前函数的参数数量,是数字。func_get_arg() 返回的是指定位置的参数的值,该函数的本身参数是一个数字索引,从0开始。func_get_args() 返回的是包含当前函数所有参数的一个索引数组,数组中值的顺序就是传入参原创 2012-05-29 09:55:33 · 510 阅读 · 0 评论 -
php 冒泡排序
由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。冒泡排序是经过n-1趟子排序完成的,第i趟子排序从第1个数至第n-i个数,若第i个数比后一个数大(则升序,小则降序)则交换两数。10个数进行排序,用二重循环实现,外循环变量设为i,内循环变量设为j,外循环重复9次,内循环依次重复9,8,...,1次,每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[原创 2012-05-29 09:54:52 · 323 阅读 · 0 评论 -
php Smarty模板重复块儿区域foreach
在Smarty模板中,可以使用forach和section两种方式重复一个区块。foreach标记作用与PHP中的作用相同,但它们的使用语法大不相同。在模板中{foreach}必须和{/foreach}成对使用,它有四个参数如下:from:待循环数组的名称,决定循环的次数,必要参数。item:确定当前元素的变量名称,必要参数。key:当前处理元素的键名,可选参数。name:原创 2012-05-28 22:44:42 · 1103 阅读 · 0 评论 -
php $smarty 模板的控制结构 if-elseif-else
php Smarty模板条件选择结构if-elseif-else,{if}必须和{/if}成对出现,当然也可以使用{else}和{elseif}子句,{if}中可以使用如下修饰词:eq:相等 neq:不相等 mod:求模 gt:大于原创 2012-05-28 22:44:00 · 3068 阅读 · 0 评论 -
php Smarty模板的调解器
在Smarty模板中可以使用变量调解器来修饰变量,和在php中调用函数处理文本相似,只是Smarty中对变量的修饰的语法不同。变量在模板中输出以前如果需要调解,可以在该变量后面跟一个竖线'|',在后面使用调解的命令,对于同一个变量可以使用多个调解器,它们将从左到右按照设定好的顺序被依次组合使用,使用时必须用'|'字符作为它们之间的分隔符。语法:{$var|modifier1|modifie原创 2012-05-28 22:28:23 · 608 阅读 · 0 评论 -
php PHPExcel应用
require_once 'Classes/PHPExcel.php';$objPHPExcel = new PHPExcel();//创建人$objPHPExcel->getProperties()->setCreator('wangjunjie');//最后修改人$objPHPExcel->getProperties()->setLastModifiedBy('原创 2012-05-28 22:27:39 · 878 阅读 · 0 评论 -
php windows server2003 读取文件 转码 转瞎了
项目程序在linux下写的,但是最终要部署到windows server2003服务器上,读取文件的时候乱码。文件名和文件内容都是要入库的,所以我在读到文件名以后就把文件名转码了。问题就出在这里(把转码以后的文件名传入到fopen函数),从表面来看传入的文件路径是对的,但就是打不开文件,困惑。问了一下高手(http://blog.youkuaiyun.com/zombee)如下解释:文件的读取原创 2012-05-28 22:26:47 · 531 阅读 · 0 评论 -
用 PHP 读取文件的正确方法
了解如何使用 PHP 的各种文件函数,查看诸如 fopen、fclose 和 feof 之类的基本文件函数,了解诸如 fgets、fgetss 和 fscanf 之类的读取函数,并且发现用一两行代码处理整个文件的函数。传统的 fopen 方法fopen 方法可能是以前的 C 和 C++ 程序员最熟悉的,因为如果您使用过这些语言,那么它们或多或少都是您已掌握多年的工具,对于这些方法中的任何一转载 2012-05-28 22:25:55 · 1757 阅读 · 0 评论