https://static.iklfy.com/static/images/index/14.jpg

PHP下载类代码

<?php
/**
* @author www.iklfy.com
* @copyright 2011
* @filename download.class.php
*/
/*
//文件下载类,以下调用示例代码
$download = new download('php,exe,html', false);
if (!$download->downloadfile($filename))
{
echo $download->geterrormsg();
}
*/
class download
{
var $debug = true;
var $errormsg = '';
var $Filter = array();
var $filename = '';
var $mineType = 'text/plain';
var $xlq_filetype = array();
https://static.iklfy.com/attach/2012/06/18/1301244421_11987880.png

PHP判断系统类型,语言,浏览器类型,当前IP代码(2011.05.20)

晚上帮QQ上一个朋友改了个引导页面,需要用到这些,一时没有准确的,于是写这个类文件;
怎么用就看演示文件吧.
功能呢,就是判断访问者的IP地址,系统版本,浏览器类型,系统语言这些....
然后就是是否记录这些信息到日志文件,默认为不记录(建议只在需要的时候开启).
日志文件为自动创建.
https://static.iklfy.com/static/images/index/19.jpg

PHP获取当前url路径的函数及服务器变量

代码如下:
<?php
echo $_SERVER['DOCUMENT_ROOT']."<br>"; //获得服务器文档根变量
echo $_SERVER['PHP_SELF']."<br>"; //获得执行该代码的文件服务器绝对路径的变量
echo __FILE__."<br>"; //获得文件的文件系统绝对路径的变量
echo dirname(__FILE__); //获得文件所在的文件夹路径的函数
?>

1,$_SERVER["QUERY_STRING">
说明:查询(query)的字符串
2,$_SERVER["REQUEST_URI">
说明:访问此页面所需的URI
3,$_SERVER["SCRIPT_NAME">
说明:包含当前脚本的路径
4,$_SERVER["PHP_SELF">
说明:当前正在执行脚本的文件名
https://static.iklfy.com/static/images/index/7.jpg

Discuz 密码错误次数过多导致等待15分钟的解决办法

修改文件:在function/function_member.php
$return = (!$login || (TIMESTAMP - $login['lastupdate'] > 900)) ? 4 : max(0, 5 - $login['count']);

900(s) / 60(s) = 15(m) 等于密码错误等待时间 随便改;
4 等于允许输入 N+1 次的错误密码 ,如 4+1=5 第5次错误提示等待 N(m)后在登录;随便改;

注:引起的问题不要找我 = =。
https://static.iklfy.com/static/images/index/4.jpg

匹配中文的正则表达式实例

由于中文的ASCII码是有一定的范围的。所以你可以用下面的正则表达式来表示中文。
<?php
$str = "新年快乐!Happy New Year!";
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str))
{
echo '这是一个纯中文字符串';
}
else
{
echo '这不是一个纯中文字串';
}
?>
https://static.iklfy.com/static/images/index/18.jpg

for循环语句的几种“变态”用法

1、无限循环
  首先是人尽皆知的无限循环(亦可称“死循环”)。由于空表达式null在语法上是有效的,所以我们可以把for语句的三个表达式留空,这样就会产生不断执行for嵌套语句的效果。
<?php
/**
PHP手册中对for的语法定义
for (expr1; expr2; expr3)
statement
*/
for (;;)
{
 //放置需要不断执行的语句
}
?>

虽然有一些任务会使用到无限循环,但是大多数程序任务,特别是PHP所能涉及的领域,在使用无限循环时都会添加一些终止循环的条件。
<?php
for (;;)
{
  //如果是公元2199年,则跳出循环Y
if(date('Y') == '2199')
{
break;
}
}
?>

2、使用空表达式
接下来就是说说在初始化语句expr1中使用null语法,留空expr1最常见的作用就是完成更为复杂的初始化工作。
https://static.iklfy.com/static/images/index/4.jpg

php建立多级目录(多层目录)

//php建立多级目录(多层)I
mkpath('hml/a/b/c/d/e');
function mkpath($mkpath,$mode=0777){
$path_arr=explode('/',$mkpath);
foreach ($path_arr as $value){
if(!emptyempty($value)){
if(emptyempty($path))$path=$value;
else $path.='/'.$value;
is_dir($path) or mkdir($path,$mode);
}
}
if(is_dir($mkpath))return true;
return false;
}
https://static.iklfy.com/static/images/index/7.jpg

PHP运算符优先级的一个例外

<?php
if ($a = 100 && $b = 200) {
var_dump($a, $b);
}
?>

输出是什么?
这个问题, 咋一看或许觉得简单, 但其实仔细推敲并不简单,
如果说布尔与之前的部分, 是由于优先级的问题, 但是如果仅仅是优先级的问题的话, 那么结果应该是:
$a = (100 && $b) = 200

而实际上的结果, 确实高优先级的&&让步给次优先级的=, 让 $b = 200 先结合了.
究其原因, 是因为PHP并不完全遵守优先级的定义, 这个在PHP的手册中也有说明:
Note: Although = has a lower precedence than most other operators, PHP will still allow expressions similar to the following: if (!$a = foo()), in which case the return value of foo() is put into $a.
https://static.iklfy.com/static/images/index/21.jpg

一个关于switch验证算法的总结笔记!

<?php header('Content-Type:text/html;charset=utf-8');?> 
<p>看书看累了,把今天看到的一些知识点总结一下,如何使用switch函数对变量进行遍历从而实现判断前端网页用户是否输入数据。<br />
在PHP中,switch无疑是使用频率很高的一个函数功能。其算法简单明了容易理解,比如: </p>
<?php
switch($i) {
case 1:
echo "这是苹果.";
break;
case 2:
echo "这是冰.";
break;
}
?>
https://static.iklfy.com/static/images/index/4.jpg

PHP中四个$_SERVER的区别

<?PHP
$_SERVER["QUERY_STRING"] //说明:查询(query)的字符串
$_SERVER["REQUEST_URI"] //说明:访问此页面所需的URI
$_SERVER["SCRIPT_NAME"] //说明:包含当前脚本的路径
$_SERVER["PHP_SELF"] //说明:当前正在执行脚本的文件名
$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取http://www.iklfy.com/后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名
?>
https://static.iklfy.com/static/images/index/12.jpg

收藏一些常用正则表达式,供参考/修改、使用

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$
https://static.iklfy.com/static/images/index/9.jpg

Mobile Print Helloworld.c

#include "..\..\modules\mrc_base.h"
#include "..\..\modules\mrc_win.h"
#include "..\..\modules\mrc_menu.h"
#include "..\..\modules\mrc_text.h"
#include "Helloworld.h"

//主界面菜单句柄
int32 main_menu;
//菜单项A:Helloworld
void main_menuA(int32 data){
int32 i=1;
DBG_PRINTF(("弹出菜单%d",i));
#ifdef CONFIG_176
main_menu176(data);
#else
main_menu240(data);
#endif
}
https://static.iklfy.com/attach/2012/06/18/1280598562_1981c5ca.png

PHP生成复杂图表类

主要分为三步:
1. * 读取用于生成图表数据(数据库、文件)
2. * 设计图表样式(圆角、底色等)
3. * 制作标签、题目、图例并生成图表
简单的柱状图表: