随笔分类 - 项目开发
摘要:__autoload的功能是当程序中要使用的类不存在时,该函数将被调用。在面向对象的程序设计中,这个函数很有用,可以使函数智能加载某些文件与类,实现文件的动态包含、类的动态引用。下边是一个实例:<?phpfunction __autoload($class_name) { $class_name = str_replace('-', '', $class_name); $dirs = array('/plugins/'.$class_name.'/', '/includes/', '/includes
阅读全文
摘要:偶然看到别人写的一句代码:<?phpif (version_compare("5.2", PHP_VERSION, ">")) { die("PHP 5.2 or greater is required!!!"); }?>发现获取PHP的版本信息原来这么简单~~~PHP_VERSION是一个常量,他就能获得PHP版本信息。version_compare是一个版本比较工具,当然也可以作为其他的版本比较工具:<?php if (version_compare(PHP_VERSION, '6.0.0'
阅读全文
摘要:学习Nodejs也是出于对这个新产物的好奇,而且有两个重要项目也需要他的支持,所以要好好学学这个新语种。参照深入浅出nodejs三,自己抄了一下代码:circle.js文件var PI = Math.PI; exports.area = function (r){ return PI*r*r; } exports.circumference = function (r){ return 2*PI*r; }test.js文件var circle = require('circle.js'); console.log('Hello,world'+circle.are
阅读全文
摘要:在很多网页展示中,标题的长度有时需要量身定制,比如已经排定好的样式,一般都不会满足太长的标题,这就需要对标题进行截取。考虑到一般都是中文、英文、数字、英文符号、中文符号混合的标题,现有的函数只能使用mb_substr这样的针对编码的截取方式。但是这样的结果总是不令人满意的。比如,文章标题有以下几种:1、全英文:Celine Dion My Love Ultimate Essential Collection My Heart Will Go On2、全中文:一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十3、中英文混排(包含中英标点):一二三四五;“;六七八九十;“;'Ce
阅读全文
摘要:今天写织梦模板,测试时,发现写的足够长的标题,怎么截取都是21个字(截取大于21),到文章页才发现原来文章的标题被自动截取成了21个汉字,也就是60个字节(我的是UTF-8编码,不知道这个计算怎么这么奇怪,本应是20的)。想想明白了,肯定是系统在编辑文章后,自动将文章标题截取成了60字节,于是开始更改默认的文章标题长度。更改织梦系统默认文章标题长度有两步:1、更改系统后台设置:后台=> 系统 => 其他选项 => 文章标题最大长度2、这步也必不可少的,更改数据库: 命令:ALTER TABLE dede_archives CHANGE `title` `title` VARC
阅读全文
摘要:这大半天的就搞了一个跨域问题,那叫一个生不如死啊——前记 JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。JSON系统开发方法是一种典型的面向数据结构的分析和设计方法,以活动为中心,一连串的活动的顺序组合成一个完整的工作进程。 之所以会有跨域这个问题的产生根本原因是浏览器的同源策略限制,理解同源策略的限制同源策略是指阻止代码获得或者更改从另一个域名下获得的文件或者信息。也就是说我们的请求地址必须和当前网站的地指相同。同源策略通过隔离来实现对资源的保护。...
阅读全文
摘要:下午两点,接到公司的面试电话,这次是电话面试,主要问了PHP函数,数据库性能优化,Apache规则等基础、高级的都有的东西,一时间还真有点招架不住。第一个题是关于PHP函数的问题,是要求写一个验证IP地址的函数,当时写的让面试官明显看出漏洞来了,“127.000.00023.0045”这验证吗?囧了~~~ 自已一个人在教室没什么事,总结一下,巩固一下,反思一下。写了一个验证IP的isValidIp函数,验证没问题~~~<?PHP function isValidIp($str){ $str = trim($str); if(preg_match('/\....
阅读全文
摘要:在网上,注册要求最多就是填入邮件地址,然后有些网站需要邮件激活认证。试想一下,有些用户只是为了下载或者看些内容才无奈注册的,那些提给你个邮件是否能用呢?我想更多的会随便写下类似:asfsagdfg@adfdlknsafdf.com 这样的邮件地址吧。后台验证邮件格式没一点问题,然后后台开始给发送邮件了,这时候资源的浪费是多么严重啊,后台程序等了半天,结果超时,系统的资源就这么消耗了。有没有一种方法既验证邮件格式又验证邮件主机本身是否正确呢?今天看书,从书中看到很多PHP跟网络相关的函数比如查看DNS记录(dns_get_record)、获取主机MX记录(getmxrr)、获取服务器端口号(getservname)以及套接字、邮件等函数。既然PHP有这么多好的功能来查看主机域名的状态,何不写一个主机验证的函数,既节省了带宽,又节约了宝贵的系统资源:
阅读全文
摘要:零、用户管理:
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、删除数据库:
阅读全文
摘要:今天是信息安全大赛初赛结束的日期,这次比赛从准备到现在已近一个月,出于是第一次举办的缘故,过程中漏洞百出,在此列出管理、组织、项目实施的一些经验和教训。1、项目的实施永远都是面向客户需求的。做生意最常听见的一句话是“客户就是上帝”,现在看来不假。这次信息安全比赛的后台答题系统是我开发的。社团四月下旬开始有举办活动的意向开始,准备在5月12日正式开始比赛。我自己做了几天就做好了,自己测试了,没有大的Bug就交给了社团的Boss,最后一直等到比赛的时候。到了比赛的时候才发现原来做的系统太简单,选择题、填空题、简答题都是一个接口的答题方式,而且更可恶的是在题目中居然出现了多选题。其实多选题倒是没什么,后台匹配的时候用trim去除了左右的空格,然后不区分大小写,最后与题目答案入库一样的编码进行匹配,这样是没有什么bug,但是比赛者的反馈的结果是——他们输入了“A,B”或者“A B”这样的,结果可想而知了。第二天,我就写了个告示,告诉他们多选题怎么填,结果还和没写一样~~~
阅读全文
摘要:刚学完jQuery选择器,闲来无事,照着书上的范例敲了一段代码(HTML和CSS抄自书上),自己试着写了写jQuery的代码,感觉相当轻便啊`~~~
显示效果:
功能说明:
1、点击上边的图书分类一栏,实现向下的伸缩扩展,可以控制分类的显示状态;
2、“简化”功能点击后实现分类显示菜单数量的简化,简化后,简化字样变成“展开”;
3、页面中的两个红色箭头图标均为显示状态的图标,每次点击后都会变换相应的状态效果。
阅读全文
摘要:ThinkPHP2.0配置
CHECK_FILE_CASE -- windows环境下面的严格检查大小写。
/* 项目设定 */
'APP_DEBUG' => false, // 是否开启调试模式
'APP_DOMAIN_DEPLOY' => false, // 是否使用独立域名部署项目
'APP_PLUGIN_ON' => false, // 是否开启插件机制
'APP_FILE_CASE' => false, // 是否检查文件的大小写 对Windows平台有效
'APP_GROUP_DEPR' => '.', // 模块分组之间的分割符
'APP_GROUP_LIST' => '', // 项目分组设定,多个组之间用逗号分隔,例如'Home,Admin'
'APP_AUTOLOAD_REG' => false, // 是否开启SPL_AUTOLOAD_REGISTER
阅读全文
摘要:强大的EditPlus使用技巧集
正则表达式类
【1】 正则表达式应用——替换指定内容到行尾
【2】 正则表达式应用——数字替换----------------------------Microshaoft@CCF,jiuk2k@CCF
【3】 正则表达式应用——删除每一行行尾的指定字符
【4】 正则表达式应用——替换带有半角括号的多行
【5】 正则表达式应用——删除空行----------------------------江德华
软件技巧类
------------------------------------------------------
阅读全文
摘要:DEDE织梦标签名称:{/dede:arclist} 详解标签名称:arclist标记简介:织梦常用标记,也称为自由列表标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。功能说明:获取指定文档列表适用范围:全局使用基本语法:{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' im
阅读全文
摘要:文章的相关阅读就相当于网店的推荐,重要性不言而喻。相当一部分的织梦系统提供的相关阅读一般都使用着原来帮助文档提供的标签用法,其实他还可以实现大型门户网站的那种效果。 代码使用:dede:likeart titlelen='12' row='6'} <li><a title="[field:title function='htmlspecialchars(@me)'/] " href="[field:arcurl /]">[field:title /]</a></li
阅读全文
摘要:文章的分页在网站用户体验上起着举足轻重的地位,好的分页可以给用户一个好的印象,更能留住来访者 偶然发现腾讯网上文章的分页样式做的相当不错,于是乎自己开始——仿! 看到这里的分页当然第一想到的肯定是{dede:pagebreak/},但是这个用后的结果来看没什么功能上来说够齐全,但样式上很难控制,还是咱自己动手吧,丰衣足食么。。 打开include/arc.archives.class.php,我们这里主要更改两个函数(GetPagebreakDM、GetPagebreak)就行了。更改的时候注意,一般最好不要大动,能小改就小改,还要备份哦! 下面是我更改过后的,加上腾讯的CSS样式...
阅读全文
摘要:站点根网址(cfg_basehost):网站根节点网址,主要用于生成一些超链接中加入站点根网址,例如:百度新闻、站点RSS、系统上传附件等网页主页链接(cfg_indexurl):用于前台模板调用网站主站连接主页链接名(cfg_indexname):网站主页的连接名称,默认为“主页”网站名称(cfg_webname):全局站点的名称,通常显示在网页页面的标题栏部分,默认为“我的网站”文档HTML默认保存路径(cfg_arcdir):网站生成静态页面HTML存放路径,默认为“/html”,可以根据自己需要进行设置图片/上传文件默认路径(cfg_medias_dir):网站附件上传默认保存路径,默
阅读全文
摘要:站点根网址(cfg_basehost):网站根节点网址,主要用于生成一些超链接中加入站点根网址,例如:百度新闻、站点RSS、系统上传附件等网页主页链接(cfg_indexurl):用于前台模板调用网站主站连接主页链接名(cfg_indexname):网站主页的连接名称,默认为“主页”网站名称(cfg_webname):全局站点的名称,通常显示在网页页面的标题栏部分,默认为“我的网站”文档HTML默认保存路径(cfg_arcdir):网站生成静态页面HTML存放路径,默认为“/html”,可以根据自己需要进行设置图片/上传文件默认路径(cfg_medias_dir):网站附件上传默认保存路径,默
阅读全文
摘要:织梦不再神秘,CSS详解http://bbs.dedecms.com/simple/t155725.html用div+css写了静态的index页面,怎么用织梦cms更换成首页模板?用织梦的标签插入到相应位置就行了,可以到织梦管理员之家 http://www.dedeadmin.com看看把相应的dede标签插入到 你需要的位置就可以了 如果不清楚的话 百度一下dede标签适合新手的dede标签大全关键描述调用标签: <meta name="keywords" content="{dede:field name='keywords'/}&qu
阅读全文
摘要:这是我在{dede:field name='position'/}后的结果,想想如果能把正文换成本文的标题,而且加上指向自己的链接是不是也更能对SEO有好处呢?(自认为可以,欢迎指正)于是我的代码写成了{dede:field name='position'}<a href="{dede:field.arcurl/}">{dede:field.title/}</a>当然最方便的做法是更改相应的include/typelink.class.php的function GetPositionLink($islink=true)
阅读全文