随笔分类 -  PHP开发

摘要:看着标题很绕口,大致讲解一下。usort函数用法如下:bool usort ( array &$array , callback $cmp_function )第一个参数是一个数组(引用),第二个参数是要自定义的排序函数。我自己写了一个给文件大小排序的函数,使用usort,名为sortSize(),而sortSize又要调用另一个引用函数getByteSize(),示意图如下出错源代码:<?php function sortSize($a,$b){ $a = getByteSize($a); $b = getByteSize($b); ... 阅读全文
posted @ 2012-09-06 16:36 小 伍 阅读(2246) 评论(2) 推荐(0)
摘要:在学校呆着没意思,重温了一下PHP,看看以前写过的函数,突然想写一下已知文件大小,对数据排序。比如: 1.3G、153MB、458KB、998M、0.99G(这里未考虑MB与Mb的区别,一般不会涉及Mb的运算,所以Mb、MB、mb都看定为Mb,其实MB=8*Mb)函数如下:<?php function sortSize($arr){ $arr2 = $arr; $arr3 = array(); if(!is_array($arr)){ return false; } array_w... 阅读全文
posted @ 2012-09-06 16:21 小 伍 阅读(2126) 评论(0) 推荐(0)
摘要:回家半个月,回来思路全无,看来IT工作者禁不起安逸啊~~~~先看看哪里需要完善的吧,于是先看了自由列表页的分页链接——相当不爽!!都是相对路径,“据说”对SEO不利,于是改!!!找到include里边的 arc.freelist.class.php,找到“function GetPageListST”行,马上改了它直接在function函数体内添加一句: function GetPageListST($list_len, $listitem="info,pageno") { /*此句添加为分页绝对地址路径*/ $baseUrl = $GLOBALS['cfg_... 阅读全文
posted @ 2012-08-21 19:56 小 伍 阅读(2629) 评论(0) 推荐(0)
摘要:在很多网页展示中,标题的长度有时需要量身定制,比如已经排定好的样式,一般都不会满足太长的标题,这就需要对标题进行截取。考虑到一般都是中文、英文、数字、英文符号、中文符号混合的标题,现有的函数只能使用mb_substr这样的针对编码的截取方式。但是这样的结果总是不令人满意的。比如,文章标题有以下几种:1、全英文:Celine Dion My Love Ultimate Essential Collection My Heart Will Go On2、全中文:一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十3、中英文混排(包含中英标点):一二三四五;“;六七八九十;“;'Ce 阅读全文
posted @ 2012-07-31 13:22 小 伍 阅读(1960) 评论(0) 推荐(0)
摘要:今天写织梦模板,测试时,发现写的足够长的标题,怎么截取都是21个字(截取大于21),到文章页才发现原来文章的标题被自动截取成了21个汉字,也就是60个字节(我的是UTF-8编码,不知道这个计算怎么这么奇怪,本应是20的)。想想明白了,肯定是系统在编辑文章后,自动将文章标题截取成了60字节,于是开始更改默认的文章标题长度。更改织梦系统默认文章标题长度有两步:1、更改系统后台设置:后台=> 系统 => 其他选项 => 文章标题最大长度2、这步也必不可少的,更改数据库: 命令:ALTER TABLE dede_archives CHANGE `title` `title` VARC 阅读全文
posted @ 2012-07-30 22:32 小 伍 阅读(823) 评论(0) 推荐(0)
摘要:今天面试,面试官问我PHP代码怎么去测试其使用性能,我随口一个microtime,测试时间,其实那时候想说一个Wamp下的组件着,结果没记住名字,也想到了Apache的ab.exe,现在想想,唉,这些基本的东西怎么都没记住啊!回来第一件事——玩转这个所谓的PHP性能测试! 永远记住这个组件的名字——WebGrind。 1、需要组件环境: PHP 5.3 Apache服务器 xdebug 我自己用的是Wamp 2.1,不过用什么样的配置方法都是一样的,无非改改PHP.ini,在组件里添加文件。 闲话少说,正式开始“玩”这个所谓的WebGrind。 第一步:查看自己... 阅读全文
posted @ 2012-05-21 22:32 小 伍 阅读(12693) 评论(0) 推荐(0)
摘要:下午两点,接到公司的面试电话,这次是电话面试,主要问了PHP函数,数据库性能优化,Apache规则等基础、高级的都有的东西,一时间还真有点招架不住。第一个题是关于PHP函数的问题,是要求写一个验证IP地址的函数,当时写的让面试官明显看出漏洞来了,“127.000.00023.0045”这验证吗?囧了~~~ 自已一个人在教室没什么事,总结一下,巩固一下,反思一下。写了一个验证IP的isValidIp函数,验证没问题~~~<?PHP function isValidIp($str){ $str = trim($str); if(preg_match('/\.... 阅读全文
posted @ 2012-05-21 16:41 小 伍 阅读(1807) 评论(1) 推荐(0)
摘要:今天是信息安全大赛决赛的日期,可惜还要去市里培训,不能去现场观看。听说的做的一塌糊涂,也许是第一次举办这样的比赛,在校内还没有这样的氛围的缘故吧。中午打了电话,得知总分150左右的,最高的得了68分。我在反思,是我们把题目的难度没控制好,还是参赛者的能力有限? 阅读全文
posted @ 2012-05-19 22:02 小 伍 阅读(2730) 评论(0) 推荐(1)
摘要:零、用户管理:   1、新建用户:     >CREATE USER name IDENTIFIED BY 'ssapdrow';   2、更改密码:     >SET PASSWORD FOR name=PASSWORD('fdddfd');   3、权限管理     >SHOW GRANTS FOR name; //查看name用户权限     >GRANT SELECT ON db_name.* TO name;    //给name用户db_name数据库的所有权限     >REVOKE SELECT ON db_name.* TO name;    //GRANT的反操作,去除权限; 一、数据库操作:    1、查看数据库:     >SHOW DATABASES;   2、创建数据库:     >CREATE DATABASE db_name;  //db_name为数据库名   3、使用数据库:     >USE db_name;   4、删除数据库: 阅读全文
posted @ 2012-05-17 16:36 小 伍 阅读(115209) 评论(5) 推荐(11)
摘要:通过url进行传值,是php中一个传值的重要手段。所以我们要经常对url里面所带的参数进行解析,如果我们知道了url传递参数名称,例如:   /index.php?name=tank&sex=1#top   我们就可以通过$_GET['name'],$_GET['sex']来获得传的数据。但是如果我们不知道这些变量名又怎么办呢?这也是写这篇博文的目的,因为自己老是忘,所以做个标记,下次就不要到处找了。   我们可以通php的变量来获得url和要传的参数字符串:   $_SERVER["QUERY_STRING"] name=tank&sex=1   $_SERVER["REQUEST_URI"] /index.php?name=tank&sex=1 阅读全文
posted @ 2012-04-11 10:05 小 伍 阅读(27193) 评论(0) 推荐(0)
摘要:对于While循环谁都不会陌生,但是,在有些循环过程中有时会出现这样那样的各种出入,今天我就遇到了一个小小的while控制错误,现在贴出来分享一下。 第一种方式: 阅读全文
posted @ 2012-04-02 12:27 小 伍 阅读(729) 评论(0) 推荐(0)
摘要:上传文件的处理是相当重要的,首先还是得从安全入手,因而文件的扩展名的检查是至关重要的。今天学了一个上传文件扩展名检查的实例,分享一下 form method="post" action="" en 阅读全文
posted @ 2012-04-01 00:52 小 伍 阅读(16859) 评论(2) 推荐(1)
摘要:今天写了一个简单的网页计时工具,工具是这样的 编写这段代码中出现了一些小问题,记之、享之~~ 1、SESSION问题:这是一个网页提交式的计时器,所以每次提交后SESSION都会发生改变,起初我将session_start放在第二个if中,导致 STOP时出现没有定义$_SESSION['time']的错误;再有就是session_destroy放在最后一个if外,也会发生类似的错误,从这里可以看出,session的生命周期应该随着脚本的运行,脚本不停止,不能destroy 2、strtotime()函数能够将时间转换为UNIX时间戳,功能和模块time() 是类似的,只是参数不同而已 阅读全文
posted @ 2012-03-31 19:44 小 伍 阅读(818) 评论(0) 推荐(0)
摘要:PHP取值很容易,可以使用循环遍历、类指针(个人称之),但是如果去数组最后一个值的时候也采用遍历的话是不是消耗了很多性能啊?? 下面有三种取值方法可以更好的取出数组的最后一个值: 阅读全文
posted @ 2012-03-28 10:34 小 伍 阅读(12113) 评论(0) 推荐(1)
摘要:ThinkPHP的URL结构对初学者来说是一个很难理解的问题,比如同样的一个页面: http://localhsot/index.php 我也可以使用 http://localhost/index.php/Index/index显示出来。   从这里来看能够很好的拆解URL地址的含义对学号ThinkPHP尤为重要。下面看一下实例: 阅读全文
posted @ 2012-03-27 20:37 小 伍 阅读(3903) 评论(0) 推荐(1)
摘要:ThinkPHP的函数有三类,一类是系统函数,在ThinkPHP目录下的Common下;一类是项目函数,在项目目录下的Common目录中;最后一类是扩展函数。   1、系统函数:包含function.php、common.php和runtime.php三个文件,程序运行时无需手动加载,在编译过程中自动加载;   2、项目函数:是项目中的Common文件中的Common.php 文件(一般不存在,需自己创建),分组部署时,需要使用 (分组名)/function.php命名。此类函数也是可以直接加载的;   3、扩展函数是指用户自定义的函数,可以提供给开发者更多的DIY内容,函数名自定义,但是不是在设置了自动加载的情况下是不能自动加载的。   函数的加载:   系统函数和项目函数是不需要加载就能直接使用的,但是扩展函数还是需要加载才能使用的,这里可以有动态和静态两种方式加载扩展函数:   1、动态加载:(可以实时生效) 阅读全文
posted @ 2012-03-26 20:10 小 伍 阅读(6571) 评论(0) 推荐(0)
摘要:配置文件主要是控制整个项目的配置参数,通过一系列的配置达到系统与ThinkPHP更好的调控。 1、ThinkPHP的配置文件最常用的就是更改项目中的Conf文件中conf.php,比如我的Home/Conf/conf.php 2、读取配置,使用C(),大写的C函数,而且配置文件的参数都是全局的,可以再任何地方访问的。   在index控制器中输入 echo C('APP_STATUS'); 即可输出Conf的值 3、C函数读取二维配置: C('USER_CONFIG.USER_TYPE'); 4、C函数对配置文件的动态配 阅读全文
posted @ 2012-03-26 17:06 小 伍 阅读(4103) 评论(0) 推荐(0)
摘要:今天学习ThinkPHP的配置,看了手册的分组配置,发现分组配置是个好东西,必须得好好搞搞,结果搞得我那个~~~ 首先照着TP手册一步一步写: 然后,开始改写; 阅读全文
posted @ 2012-03-26 14:55 小 伍 阅读(2306) 评论(0) 推荐(0)
摘要:debug+trace模式可以查看开发过程中TP的错误信息,可以更好地帮助开发者debug。但是debug模式的开启还不是简单的在配置文件中中设置就可以的,经过查资料摸索,找到一种有效的方法。首先在你已经部署好了ThinkPHP的项目目录然后注意是在入口文件开启调试模式,在入口文件index.php 中写入一下代码define(‘APP_DEBUG’,true); 首先删除Runtime目录 ,然后再次运行一下,你会发现runtime目录下面的~runtime.php 文件没有了,说明你的调试模式开启成功了之所以这个~runtime.php文件删除 ,这个文件是编译后的文件 会有缓存,所以在调 阅读全文
posted @ 2012-03-26 14:15 小 伍 阅读(17961) 评论(0) 推荐(0)
摘要:初次接触ThinkPHP ,对MVC还不是很了解的我,一头雾水,还好TP的官网的资料比较全,顺着手册一步一步~~首先创建了一个自己的应用,但是手册上前几节讲的不是很详细,导致现编配置起来有点困难,于是自己先从头文件编写入手.<?PHP define('THINK_PATH','./ThinkPHP/'); define('APP_PATH','./Home/'); define('APP_NAME','home'); define('APP_DEBUG',true); requ 阅读全文
posted @ 2012-03-26 14:02 小 伍 阅读(1582) 评论(0) 推荐(0)