# PHP常用函数总结
## 数学函数
1.abs(): 求绝对值
~~~php
$abs = abs(-4.2); //4.2 数字绝对值数字
~~~
2.ceil(): 进一法取整
~~~php
echo ceil(9.999); // 10 浮点数进一取整
~~~
3.floor(): 舍去法取整
~~~php
echo floor(9.999); // 9 浮点数直接舍去小数部分
~~~
4.fmod(): 浮点数取余
~~~php
$x = 5.7;
$y = 1.3; // 两个浮点数,x>y 浮点余数
$r = fmod($x, $y);
// $r equals 0.5, because 4 * 1.3 + 0.5 = 5.7
~~~
5.pow(): 返回数的n次方
~~~php
echo pow(-1, 20); // 1 基础数|n次方乘方值
~~~
6.round(): 浮点数四舍五入
~~~php
echo round(1.95583, 2); // 1.96, 一个数值|保留小数点后多少位,默认为0 舍入后的结果
~~~
7.sqrt(): 求平方根
~~~php
echo sqrt(9); //3 被开方的数平方根
~~~
8.max(): 求最大值
~~~php
echo max(1, 3, 5, 6, 7); // 7
~~~
多个数字或数组
返回其中的最大值
~~~php
echo max(array(2, 4, 5)); // 5
~~~
9.min(): 求最小值
*输入*: 多个数字或数组
*输出*: 返回其中的最小值
10.mt\_rand(): 更好的随机数
*输入*: 最小|最大,
*输出*: 随机数随机返回范围内的值
~~~php
echo mt_rand(0,9);//n
~~~
11.rand(): 随机数
*输入*: 最小|最大,
*输出*: 随机数随机返回范围内的值
12.pi(): 获取圆周率值
### **去空格或或其他字符:**
13.trim(): 删除字符串两端的空格或其他预定义字符
~~~php
$str = "\r\nHello World!\r\n";
echo trim($str);
~~~
输入: 目标字符串
返回值: 清除后的字符串
14.rtrim(): 删除字符串右边的空格或其他预定义字符
~~~php
$str = "Hello World!\n\n";
echo rtrim($str);
~~~
15.chop(): rtrim()的别名
16.ltrim(): 删除字符串左边的空格或其他预定义字符
~~~php
$str = "\r\nHello World!";
echo ltrim($str);
~~~
17.dirname(): 返回路径中的目录部分
~~~php
echo dirname("c:/testweb/home.php"); //c:/testweb
~~~
输入: 一个包含路径的字符串
返回值: 返回文件路径的目录部分
### **字符串生成与转化:**
18.str\_pad(): 把字符串填充为指定的长度
~~~php
$str = "Hello World";
echo str_pad($str,20,".");
~~~
*输入*:
要填充的字符串|新字符串的长度|供填充使用的字符串, 默认是空白
*输出*:
完成后的字符串
19.str\_repeat(): 重复使用指定字符串
~~~php
echo str_repeat(".",13); // 要重复的字符串|字符串将被重复的次数13个点
~~~
20.str\_split(): 把字符串分割到数组中
~~~php
print_r(str_split("Hello"));
~~~
*输入*: 要分割的字符串|每个数组元素的长度,默认1
*输出*: 拆分后的字符串数组
21.strrev(): 反转字符串
~~~php
echo strrev("Hello World!"); // !dlroW olleH
~~~
输出: 目标字符串颠倒顺序后的字符串
22.wordwrap(): 按照指定长度对字符串进行折行处理
~~~php
$str = "An example on a long word is:
Supercalifragulistic";
echo wordwrap($str,15);
~~~
输入: 目标字符串|最大宽数
输出: 折行后的新字符串
23.str\_shuffle(): 随机地打乱字符串中所有字符
~~~php
echo str_shuffle("Hello World");
~~~
输入: 目标字符串顺序
输出: 打乱后的字符串
24.parse\_str(): 将字符串解析成变量
~~~php
parse_str("id=23&name=John%20Adams", $myArray);
print_r($myArray);
~~~
*输入*: 要解析的字符串|存储变量的数组名称
*输出*:
返回Array(
\[id\] => 23
\[name\] => John Adams)
25.number\_format(): 通过千位分组来格式化数字
*输入:*
要格式化的数字|规定多少个小数|规定用作小数点的字符
串|规定用作千位分隔符的字符串
*输出:*
1,000,000
1,000,000.00
1.000.000,00
### **大小写转换:**
26.strtolower(): 字符串转为小写
~~~php
echo strtolower("Hello WORLD!");
~~~
目标字符串
小写字符串
27.strtoupper(): 字符串转为大写
~~~php
echo strtoupper("Hello WORLD!");
~~~
输出: 大写字符串
28.ucfirst(): 字符串首字母大写
~~~php
echo ucfirst("hello world"); // Hello world
~~~
29.ucwords(): 字符串每个单词首字符转为大写
~~~php
echo ucwords("hello world"); // Hello World
~~~
### **html标签关联:**
30.htmlentities(): 把字符转为HTML实体
~~~php
$str = "John & 'Adams'";
echo htmlentities($str, ENT_COMPAT); // John & 'Adams'
~~~
31.htmlspecialchars(): 预定义字符转html编码
32.nl2br(): \\n转义为`<br>`标签
~~~php
echo nl2br("One line.\nAnother line.");
~~~
输出: 处理后的字符串
33.strip\_tags(): 剥去 HTML、XML 以及 PHP 的标签
~~~php
echo strip_tags("Hello <b>world!</b>");
~~~
34.addcslashes():在指定的字符前添加反斜线转义字符串中字符
~~~php
$str = "Hello, my name is John Adams.";
echo $str;
echo addcslashes($str,'m');
~~~
*输入:*
目标字符串|指定的特定字符或字符范围
35.stripcslashes(): 删除由addcslashes()添加的反斜线
~~~php
echo stripcslashes("Hello, \my na\me is Kai Ji\m.");
// 目标字符串 Hello, my name is Kai Jim.
~~~
36.addslashes(): 指定预定义字符前添加反斜线
~~~php
$str = "Who's John Adams?";
echo addslashes($str);
~~~
输出: 把目标串中的' " \\和null进行转义处理
37.stripslashes(): 删除由addslashes()添加的转义字符
~~~php
echo stripslashes("Who\'s John Adams?"); // 清除转义符号Who's John Adams?
~~~
38.quotemeta(): 在字符串中某些预定义的字符前添加反斜线
~~~php
$str = "Hello world. (can you hear me?)";
echo quotemeta($str);
// Hello world\. \(can you hear me\?\)
~~~
39.chr(): 从指定的 ASCII 值返回字符
~~~php
echo chr(052); // ASCII 值返回对应的字符
~~~
40.ord(): 返回字符串第一个字符的ASCII值
~~~php
echo ord("hello"); 字符串第一个字符的 ASCII 值
~~~
### **字符串比较:**
41.strcasecmp(): 不区分大小写比较两字符串
~~~php
echo strcasecmp("Hello world!","HELLO WORLD!");
~~~
*输入:*
两个目标字符串
*输出:*
大1|等0|小 -1
42.strcmp(): 区分大小写比较两字符串
43.strncmp(): 比较字符串前n个字符,区分大小写
调用:`int strncmp ( string $str1 , string $str2 , int $len)`
44.strncasecmp(): 比较字符串前n个字符,不区分大小写
调用:`int strncasecmp ( string $str1 , string $str2 , int $len )`
45.strnatcmp(): 自然顺序法比较字符串长度,区分大小写
调用:`int strnatcmp ( string $str1 , string $str2 )`
*输入:*
目标字符串
46.strnatcasecmp(): 自然顺序法比较字符串长度, 不区分大小写
调用:`int strnatcasecmp ( string $str1 , string $str2 )`
字符串切割与拼接:
47.chunk\_split():将字符串分成小块
调用:`str chunk_split(str $body[,int $len[,str $end]])`
*输入:*
`$body`目标字串,`$len`长度,`$str`插入结束符
*输出:*
分割后的字符串
48.strtok(): 切开字符串
调用:`str strtok(str $str,str $token)`
目标字符串`$str`,以`$token`为标志切割返回切割后的字符串
49.explode(): 使用一个字符串为标志分割另一个字符串
调用:`array explode(str $sep,str $str[,int $limit])`
*输入:*`$sep`为分割符,`$str`目标字符串,`$limit`返回数组最多包含元素数
*输出:*字符串被分割后形成的数组
50.implode(): 同join,将数组值用预订字符连接成字符串
调用:`string implode ( string $glue , array $pieces )`
`$glue`默认, 用''则直接相连
51.substr(): 截取字符串
调用:`string substr ( string $string , int $start [, int $length ] )`
**字符串查找替换:**
52.str\_replace(): 字符串替换操作,区分大小写
调用`mix str_replace(mix $search,mix $replace, mix $subject[,int &$num])`
*输入*:
`$search`查找的字符串,`$replace`替换的字符串,`$subject`被查找字串,`&$num`
*输出*: 返回替换后的结果
53.str\_ireplace() 字符串替换操作,不区分大小写
调用:`mix str_ireplace ( mix $search , mix $replace , mix $subject [, int &$count ] )`
*输入*:
`$search`查找的字符串,`$replace`替换的字符串,`$subject`被查找字串,`&$num`
*输出*: 返回替换后的结果
54.substr\_count(): 统计一个字符串,在另一个字符串中出现次数
调用:`int substr_count ( string $haystack , string $needle[, int $offset = 0 [, int $length ]] )`
55.substr\_replace(): 替换字符串中某串为另一个字符串
调用:`mixed substr_replace ( mixed $string, string $replacement,int $start [, int $length ] )`
56.similar\_text(): 返回两字符串相同字符的数量
调用:`int similar_text(str $str1,str $str2)`
*输入*:
两个比较的字符串
*输出*:
整形,相同字符数量
57.strrchr(): 返回一个字符串在另一个字符串中最后一次出现位置开始到末尾的字符串
调用:`string strrchr ( string $haystack , mixed $needle )`
58.strstr(): 返回一个字符串在另一个字符串中开始位置到结束的字符串
调用:`string strstr ( string $str, string $needle , bool $before_needle )`
59.strchr(): strstr()的别名,返回一个字符串在另一个字符串中首次出现的位置开始到末尾的字符串
调用:`string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )`
60.stristr(): 返回一个字符串在另一个字符串中开始位置到结束的字符串,不区分大小写
调用:`string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )`
61.strtr(): 转换字符串中的某些字符
调用:`string strtr ( string $str , string $from , string $to )`
62.strpos(): 寻找字符串中某字符最先出现的位置
调用:`int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )`
63.stripos(): 寻找字符串中某字符最先出现的位置,不区分大小写
调用:`int stripos ( string $haystack , string $needle [, int $offset ] )`
64.strrpos(): 寻找某字符串中某字符最后出现的位置
调用:`int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )`
65.strripos(): 寻找某字符串中某字符最后出现的位置,不区分大小写
调用:`int strripos ( string $haystack , string $needle [, int $offset ] )`
66.strspn(): 返回字符串中首次符合mask的子字符串长度
调用:`int strspn ( string $str1 , string $str2 [, int $start [, int $length ]] )`
67.strcspn(): 返回字符串中不符合mask的字符串的长度
调用:`int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] )`
*输入*:
`$str1`被查询,`$str2`查询字符串,`$start`开始查询的字符,`$length`是查询长度
*输出*:
返回从开始到第几个字符
### **字符串统计:**
68.str\_word\_count(): 统计字符串含有的单词数
调用:`mix str_word_count(str $str,[])`
输入: 目标字符串
输出: 统计处的数量
69.strlen(): 统计字符串长度int strlen(str $str)
输入: 目标字符串
输出:整型长度
70.count\_chars(): 统计字符串中所有字母出现次数(0..255)
调用:`mixed count_chars ( string $string [, int $mode ] )`
### **字符串编码:**
71.md5(): 字符串md5编码
~~~
$str = "Hello";
~~~
echo md5($str);
## 数组函数
数组创建:
72.array(): 生成一个数组
~~~php
$a=array("Dog","Cat","Horse");
print_r($a);
~~~
数组值或,键=>值一个数组型变量
73.array\_combine(): 生成一个数组,用一个数组的值
作为键名,另一个数组值作为值
~~~php
$a1=array("a","b","c","d");
$a2=array("Cat","Dog","Horse","Cow");
print_r(array_combine($a1,$a2));
~~~
`$a1`为提供键,`$a2`提供值合成后的数组
74.range(): 创建并返回一个包含指定范围的元素的数组。
~~~php
$number = range(0,50,10);
print_r ($number);
~~~
输入: 0是最小值,50是最大值,10是步长
输出: 合成后的数组
75.compact(): 创建一个由参数所带变量组成的数组
~~~php
$firstname = "Peter";
$lastname = "Griffin";
$age = "38";
$result = compact("firstname", "lastname",
"age");
print_r($result);
~~~
### 变量或数组
返回由变量名为键,变量值为值的数组,变量也可以为多维数组.会递归处理
76.array\_fill(): 用给定的填充(值生成)数组
~~~php
$a=array_fill(2,3,"Dog");
print_r($a);
~~~
2是键,3是填充的数量,'Dog'为填充内容返回完成的数组
### **数组合并和拆分:**
77.array\_chunk(): 把一个数组分割为新的数组块
~~~php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");
print_r(array_chunk($a,2));
~~~
一个数组分割后的多维数组,规定每个新数组包含2个元素
78.array\_merge(): 把两个或多个数组合并为一个数组。
~~~php
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge($a1,$a2));
~~~
输入: 两个数组
输出: 返回完成后的数组
79.array\_slice(): 在数组中根据条件取出一段值,并返回。
~~~php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,1,2));
~~~
输入: 一个数组
输出: 1为从'Cat'开始,2为返回两个元素
### 数组比较:
80.array\_diff(): 返回两个数组的差集数组
~~~php
$a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
print_r(array_diff($a1,$a2)); //返回'Cat'
~~~
输入: 两个或多个数组
输出:`$a1`与`$a2`的不同之处
81.array\_intersect(): 返回两个或多个数组的交集数组
输出:
返回'Dog'和'Horse',$a1与$a2的相同之处
### 数组查找替换:
82.array\_search(): 在数组中查找一个值,返回一个键,没有返回返回假
~~~php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_search("Dog",$a);
~~~
输入: 一个数组
输出: 成功返回键名,失败返回false
83.array\_splice(): 把数组中一部分删除用其他值替代
~~~php
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,0,2,$a2);
print_r($a1);
~~~
输入: 一个或多个数组
输出:`$a1`被移除的部分由`$a2`补全
84.array\_sum(): 返回数组中所有值的总和
~~~php
$a=array(0=>"5",1=>"15",2=>"25");
echo array_sum($a);
~~~
输入: 一个数组
输出: 返回和
85.in\_array(): 在数组中搜索给定的值,区分大小写
~~~php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
if (in_array("Glenn",$people) {
echo "Match found";
}
else{
echo "Match not found";
}
~~~
输入: 需要搜索的值|数组
输出: true/false
86.array\_key\_exists(): 判断某个数组中是否存在指定的 key
输入: 需要搜索的键名|数组
### 数组指针操作:
87.key(): 返回数组内部指针当前指向元素的键名
88.current(): 返回数组中的当前元素(单元).
89.next(): 把指向当前元素的指针移动到下一个元素的位置,并返回当前元素的值
90.prev(): 把指向当前元素的指针移动到上一个元素的位置,并返回当前元素的值
91.end(): 将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)
92.reset(): 把数组的内部指针指向第一个元素,并返回这个元素的值
93.list(): 用数组中的元素为一组变量赋值
~~~php
$my_array=array("Dog","Cat","Horse");
list($a, $b, $c) = $my_array;
~~~
输入:`$a`,`$b`,`$c`为需要赋值的变量
输出: 变量分别匹配数组中的值
94.array\_shift(): 删除数组中的第一个元素,并返回被删除元素的值
~~~php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_shift($a);
print_r ($a);
~~~
95.array\_unshift(): 在数组开头插入一个或多个元素
~~~php
$a=array("a"=>"Cat","b"=>"Dog");
array_unshift($a,"Horse");
print_r($a);
~~~
96.array\_push(): 向数组最后压入一个或多个元素
~~~php
$a=array("Dog","Cat");
array_push($a,"Horse","Bird");
print_r($a);
~~~
输入: 目标数组|需要压入的值
返回值: 返回新的数组
97.array\_pop(): 取得(删除)数组中的最后一个元素
~~~php
$a=array("Dog","Cat","Horse");
array_pop($a);
print_r($a);
~~~
输入:`$a`为目标数组
输出: 返回数组剩余元素
### **数组键值操作:**
98.shuffle(): 将数组打乱,保留键名
~~~php
$my_array = array("a" => "Dog", "b" => "Cat");
shuffle($my_array);
print_r($my_array);
~~~
输入: 一个或多个数组
输出: 顺序打乱后的数组
99.count(): 计算数组中的单元数目或对象中的属性个数
~~~php
$people = array("Peter", "Joe", "Glenn",
"Cleveland");
$result = count($people);
echo $result;
~~~
输入: 数组
输出: 输出元素个数
100.array\_flip(): 返回一个键值反转后的数组
~~~php
$a=array(0=>"Dog",1=>"Cat",2=>"Horse");
print_r(array_flip($a));
~~~
输出: 返回完成后的数组
101.array\_keys(): 返回数组所有的键,组成一个数组
~~~php
$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
print_r(array_keys($a));
~~~
输出: 返回由键名组成的数组
102.array\_values(): 返回数组中所有值,组成一个数组
输出: 返回由键值组成的数组
103.array\_reverse(): 返回一个元素顺序相反的数组
元素顺序相反的一个数组,键名和键值依然匹配
104.array\_count\_values(): 统计数组中所有的值出现的次数
~~~php
$a=array("Cat","Dog","Horse","Dog");
print_r(array_count_values($a));
~~~
输出: 返回数组原键值为新键名,次数为新键值
105.array\_rand(): 从数组中随机抽取一个或多个元素,注意是键名!!!
~~~php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
print_r(array_rand($a,1));
~~~
`$a`为目标数组, 1为抽取第几个元素的键名返回第1个元素的键名b
106.each(): 返回数组中当前的键/值对并将数组指针向前移动一步
调用`array each ( array &$array )`
在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果要再用 each 遍历数组,必须使用 reset()。
返回值:
数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为0,1,key和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。
如果内部指针越过了数组的末端,则 each() 返回 FALSE。
107.array\_unique(): 删除重复值,返回剩余数组
~~~php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");
print_r(array_unique($a));
~~~
输入: 数组
输入: 返回无重复值数组,键名不变
### **数组排序:**
108.sort(): 按升序对给定数组的值排序,不保留键名
~~~php
$my_array = array("a" => "Dog", "b" => "Cat",
"c" => "Horse");
sort($my_array);
print_r($my_array);
~~~
输出: true/false
109.rsort(): 对数组逆向排序,不保留键名
110.asort(): 对数组排序,保持索引关系
111.arsort(): 对数组逆向排序,保持索引关
112.ksort(): 系按键名对数组排序
113.krsort(): 将数组按照键逆向排序
114.natsort(): 用自然顺序算法对数组中的元素排序
115.natcasesort(): 自然排序,不区分大小写
## 文件系统函数
116.fopen(): 打开文件或者 URL
~~~php
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
~~~
调用:`resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )`
返回值: 如果打开失败,本函数返回 FALSE
117.fclose(): 关闭一个已打开的文件指针
~~~php
$handle = fopen('somefile.txt', 'r');
fclose($handle);
bool fclose(resource handle)
~~~
输出: 如果成功则返回 TRUE,失败则返回 FALSE
### **文件属性**
118.file\_exists(): 检查文件或目录是否存在
~~~php
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "exists";
} else {
echo "does not exist";
}
~~~
调用:`bool file_exists ( string filename )`
输入: 指定的文件或目录
输出: 存在则返回 TRUE,否则返回 FALSE
119.filesize(): 取得文件大小
~~~php
$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) .'bytes';
~~~
调用:`int filesize ( string $filename )`
输出: 返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E\_WARNING 级的错误
120.is\_readable(): 判断给定文件是否可读
~~~php
$filename = 'test.txt';
if (is_readable($filename)) {
echo '可读';
} else {
echo '不可读';
}
~~~
调用:`bool is_readable ( string $filename )`
输出: 如果由 filename指定的文件或目录存在并且可读则返回 TRUE
121.is\_writable(): 判断给定文件是否可写
~~~php
$filename = 'test.txt';
if (is_writable($filename)) {
echo '可写';
} else {
echo '不可写';
}
~~~
调用: bool is\_writable ( string $filename )
filename 参数 可以是一个允许进行是否可写检查的目录名
输出:
如果文件存在并且可写则返回 TRUE。
122.is\_executable(): 判断给定文件是否可执行
~~~php
$file = 'setup.exe';
if (is_executable($file)) {
echo '可执行';
} else {
echo '不可执行';
}
~~~
调用:`bool is_executable ( string $filename )`
输出: 如果文件存在且可执行则返回 TRUE
123.filectime(): 获取文件的创建时间
~~~php
$filename = 'somefile.txt';
echo filectime($filename);
~~~
调用:`int filectime ( string $filename )`
输出: 时间以 Unix 时间戳的方式返回,如果出错则返回FALSE
124.filemtime(): 获取文件的修改时间
~~~php
$filename = 'somefile.txt';
echo filemtime($filename);
int filemtime ( string $filename )
~~~
输出: 返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix时间戳的方式返回
125.fileatime(): 获取文件的上次访问时间
~~~php
$filename = 'somefile.txt';
echo fileatime($filename);
~~~
调用:`int fileatime (string $filename)`
输出: 返回文件上次被访问的时间, 如果出错则返回FALSE. 时间以Unix时间戳的方式返回.
126.stat(): 获取文件大部分属性值
~~~php
$filename = 'somefile.txt';
var_dump(fileatime($filename));
~~~
调用: array stat (string $filename
输出: 返回由 filename 指定的文件的统计信息
### **文件操作**
127.fwrite(): 写入文件
~~~php
$filename = 'test.txt';
$somecontent = "添加这些文字到文件\n";
$handle = fopen($filename, 'a');
fwrite($handle, $somecontent);
fclose($handle);
~~~
调用:`int fwrite ( resource handle, string string [, int length] )`
输出:
把 string 的内容写入 文件指针 handle 处。如果指定了 length,当写入了length个字节或者写完了string以后,写入就会停止, 视乎先碰到哪种情况
128.fputs(): 同上
129.fread(): 读取文件
~~~php
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
~~~
调用:`string fread ( int handle, int length )`
从文件指针handle,读取最多 length 个字节
130.feof(): 检测文件指针是否到了文件结束的位置
~~~php
$file = @fopen("no_such_file", "r");
while (!feof($file)) {
}
fclose($file);
~~~
调用: bool feof ( resource handle )
输出: 如果文件指针到了 EOF 或者出错时则返回TRUE,否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE
131.fgets(): 从文件指针中读取一行
~~~php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
~~~
调用:`string fgets ( int handle [, int length] )`
输出: 从handle指向的文件中读取一行并返回长度最多为length-1字节的字符串.碰到换行符(包括在返回值中)、EOF 或者已经读取了length -1字节后停止(看先碰到那一种情况). 如果没有指定 length,则默认为1K, 或者说 1024 字节.
132.fgetc(): 从文件指针中读取字符
~~~php
$fp = fopen('somefile.txt', 'r');
if (!$fp) {
echo 'Could not open file somefile.txt';
}
while (false !== ($char = fgetc($fp))) {
echo "$char\n";
}
~~~
输入:`string fgetc ( resource $handle )`
输出: 返回一个包含有一个字符的字符串,该字符从 handle指向的文件中得到. 碰到 EOF 则返回 FALSE.
133.file(): 把整个文件读入一个数组中
~~~php
$lines = file('http://www.example.com/');
~~~
// 在数组中循环,显示 HTML 的源文件并加上行号。
~~~php
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " .
htmlspecialchars($line) . "<br />\n";
}
~~~
// 另一个例子将 web 页面读入字符串。参见`file_get_contents()`。
~~~php
$html = implode('', file('http://www.example.com/'));
~~~
调用:`array file ( string $filename [, int $use_include_path [, resource $context ]] )`
输出: 数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败 file() 返回 FALSE
134.readfile(): 输出一个文件
调用:`int readfile ( string $filename [, bool $use_include_path [, resource $context ]] )`
输出: 读入一个文件并写入到输出缓冲。返回从文件中读入的字节数。如果出错返回 FALSE
135.file\_get\_contents(): 将整个文件读入一个字符串
~~~php
echo file_get_contents('http://www.baidu.com');
~~~
调用:
`string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] )`
136.file\_put\_contents():将一个字符串写入文件
~~~php
file_put_contents('1.txt','aa');
~~~
调用:`int file_put_contents ( string $filename , string $data [, int $flags [, resource $context ]] )`
输出: 该函数将返回写入到文件内数据的字节数
137.ftell(): 返回文件指针读/写的位置
~~~php
$fp=fopen('tx.txt','r');
fseek($fp,10);
echo ftell($fp);
fread($fp,4);
echo ftell($fp);
~~~
调用:`int ftell ( resource $handle )`
输出: 返回由 handle 指定的文件指针的位置,也就是文件流中的偏移量
138.fseek(): 在文件指针中定位
~~~php
$fp=fopen('tx.txt','r');
fseek($fp,10);
echo ftell($fp);
fread($fp,4);
echo ftell($fp);
~~~
调用:`int fseek ( resource $handle , int $offset [, int $whence ] )`
输出: 成功则返回 0;否则返回 -1
139.rewind(): 倒回文件指针的位置
~~~php
$fp=fopen('tx.txt','r');
fseek($fp,3);
echo ftell($fp);
fread($fp,4);
rewind($fp);
echo ftell($fp);
~~~
调用:`bool rewind ( resource $handle )`
返回值: 如果成功则返回 TRUE,失败则返回 FALSE
140.flock(): 轻便的执行文件锁定
~~~php
$fp=fopen('tx.txt','r');
flock($fp, LOCK_SH);//共享锁
//flock($fp, LOCK_EX);//独立锁,写文件时用它打开
//flock($fp, LOCK_NB);//附加锁
flock($fp, LOCK_UN);//释放锁
fclose($fp);
~~~
调用:`bool flock ( int $handle , int $operation [, int &$wouldblock ] )`
输出: 如果成功则返回 TRUE,失败则返回 FALSE
### **目录**
141.basename(): 返回路径中的文件名部分
~~~php
path = "/home/httpd/html/index.php";
$file = basename($path);
$file = basename($path,".php");
~~~
调用:`string basename ( string $path [, string $suffix ])`
输出: 给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结
束的,那这一部分也会被去掉
142.dirname(): 返回路径中的目录部分
~~~php
$path = "/etc/passwd";
$file = dirname($path);
~~~
调用:`string dirname ( string $path )`
输出: 给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名
143.pathinfo(): 返回文件路径的信息
~~~php
echo '<pre>';
print_r(pathinfo("/www/htdocs/index.html"));
echo '</pre>';
~~~
调用:`mixed pathinfo ( string $path [, int $options ] )`
返回一个关联数组包含有 path 的信息
144.opendir(): 打开目录句柄
~~~php
$fp=opendir('E:/xampp/htdocs/php/study/19');
echo readdir($fp);
closedir($fp);
~~~
调用:`resource opendir ( string $path [, resource $context ] )`
返回值: 如果成功则返回目录句柄的 resource,失败则返回FALSE
145.readdir(): 从目录句柄中读取条目
~~~php
$fp=opendir('E:/xampp/htdocs/php/study/19');
echo readdir($fp);
closedir($fp);
~~~
调用:`string readdir ( resource $dir_handle )`
返回值: 返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回
146.closedir(): 关闭目录句柄
~~~php
$fp=opendir('E:/xampp/htdocs/php/study/19');
echo readdir($fp);
closedir($fp);
~~~
调用:`void closedir ( resource $dir_handle )`
关闭由 dir\_handle 指定的目录流。流必须之前被opendir() 所打开
147.rewinddir() : 倒回目录句柄
~~~php
$fp=opendir('E:/xampp/htdocs/php/study/19');
echo readdir($fp).'<br />';
echo readdir($fp).'<br />';
echo readdir($fp).'<br />';
rewinddir($fp);
echo readdir($fp).'<br />';
closedir($fp);
~~~
调用:`void rewinddir ( resource $dir_handle )`
输出: 将 dir\_handle 指定的目录流重置到目录的开头
148.mkdir(): 新建目录
~~~php
mkdir('123');
~~~
调用:`bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] )`
输出: 尝试新建一个由 pathname 指定的目录
149.rmdir(): 删除目录
~~~php
rmdir('123');
~~~
调用:`bool rmdir ( string $dirname )`
输出: 尝试删除 dirname 所指定的目录。目录必须是空的,而且要有相应的权限。如果成功则返回TRUE,失败则返回 FALSE
150.unlink(): 删除文件
~~~php
unlink('123/1.txt');
rmdir('123');
~~~
调用:`bool unlink ( string $filename )`
输出: 删除 filename 。和 Unix C 的 unlink() 函数相似。如果成功则返回 TRUE,失败则返回 FALSE
151.copy(): 拷贝文件
~~~php
copy('index.php','index.php.bak');
~~~
调用:`bool copy ( string $source , string $dest )`
输出: 将文件从 source 拷贝到 dest. 如果成功则返回TRUE,失败则返回 FALSE
152.rename(): 重命名一个文件或目录
~~~php
rename('tx.txt','txt.txt');
~~~
调用:`bool rename ( string $oldname , string $newname [, resource $context ] )`
输出: 如果成功则返回 TRUE,失败则返回 FALSE
### **文件的上传与下载**
153.is\_uploaded\_file():判断文件是否是通过 HTTP POST上传的
~~~php
if(is_uploaded_file($_FILES['bus']['tmp_name'])){
if( move_uploaded_file($_FILES['bus']['tmp_name'],
$NewPath) ){
echo '上传成功<br /><img src="'.$NewPath.'">';
}else{
exit('失败');
}
}else{
exit('不是上传文件');
}
~~~
调用:`bool is_uploaded_file ( string $filename )`
154.move\_uploaded\_file(): 将上传的文件移动到新位置
~~~php
if(is_uploaded_file($_FILES['bus']['tmp_name'])){
if( move_uploaded_file($_FILES['bus']['tmp_name'],
$NewPath) ){
echo '上传成功<br /><img src="'.$NewPath.'">';
}else{
exit('失败');
}
}else{
exit('不是上传文件');
}
~~~
调用:`bool move_uploaded_file ( string $filename , string`
## 时间函数
155.time(): 返回当前的 Unix 时间戳time();
调用:`int time ( void )`
输出: 返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数
156.mktime(): 取得一个日期的 Unix 时间戳
~~~php
mktime(0, 0, 0, 4, 25, 2012);
~~~
调用:`int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )`
156.date(): 格式化一个本地时间/日期
~~~php
date('Y年m月d日 H:i:s');
~~~
调用:`string date ( string $format [, int $timestamp ] )`
输出: 2016年09月10日 20:45:54
157.checkdate(): 验证一个格里高里日期
调用:`bool checkdate ( int $month , int $day , int $year)`
输出: 如果给出的日期有效则返回 TRUE,否则返回 FALSE
~~~php
if(checkdate(6,31,2012)){
echo '成立';
}else{
echo '不成立';
}
~~~
158.date\_default\_timezone\_set(): 设定用于一个脚本中所有日期时间函数的默认时区
~~~php
date_default_timezone_set('PRC');
~~~
调用:`bool date_default_timezone_set ( string $timezone_identifier)`
返回值: 如果 timezone\_identifier 参数无效则返回 FALSE,否则返回 TRUE。
159.getdate(): 取得日期/时间信息
调用:`array getdate ([ int $timestamp ] )`
输出: 返回一个根据timestamp得出的包含有日期信息的关联数组。如果没有给出时间戳则认为是当前本地时间
~~~php
$t=getdate();
var_dump($t);
~~~
160.strtotime(): 将任何英文文本的日期时间描述解析为 Unix 时间戳
~~~php
echo strtotime("now");
int strtotime ( string $time [, int $now ] )
echo strtotime("10 September 2000");
echo strtotime("+1 day");
echo strtotime("+1 week");
echo strtotime("+1 week 2 days 4 hours 2 seconds");
echo strtotime("next Thursday");
echo strtotime("last Monday");
~~~
161.microtime(): 返回当前 Unix 时间戳和微秒数
调用:`mixed microtime ([ bool $get_as_float ] )`
~~~php
$start=microtime(true);
sleep(3);
$stop=microtime(true);
echo $stop-$start;
~~~
其他常用:
162.intval(): 获取变量的整数值
调用:`int intval ( mixed $var [, int $base = 10 ] )`
通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E\_NOTICE 错误并返回 1。
var: 要转换成 integer 的数量值
base: 转化所使用的进制
返回值: 成功时返回 var 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1。
163. PDO类的相关函数
prepare()
execute()
fetch()
~~~php
<?php
$driver = 'mysql';
$database = "dbname=CODINGGROUND";
$dsn = "$driver:host=localhost;unix_socket=/home/cg/mysql/mysql.sock;$database";
$username = 'root';
$password = 'root';
try {
$conn = new PDO($dsn, $username, $password);
echo "<h2>Database CODINGGROUND Connected<h2>";
}catch(PDOException $e){
echo "<h1>" . $e->getMessage() . "</h1>";
}
$sql = 'SELECT * FROM users';
$stmt = $conn->prepare($sql);
$stmt->execute();
echo "<table style='width:100%'>";
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
echo "<tr>";
foreach($row as $value)
{
echo sprintf("<td>%s</td>", $value);
}
echo "</tr>";
}
echo "</table>";
?>
~~~
## 正则表达式-元字符
**元字符及其匹配范围**
`\d`匹配任意一个十进制数字,等价于:`[0-9]`
`\D`匹配除十进制数字以外的任意数字,等价于:`[^0-9]`
`\s`:匹配空白字符,等价于:`[\n\f\r\t\v]`
`\S`: 匹配除空白字符以外的任意一个字符, 等价于`[^\n\f\r\t\v]`
`\w`匹配任意一个数字、字母和下划线,等价于:`[0-9a-zA-Z_]`
`\W`匹配除字母、数字和下划线以外的任意字符, 等价于:`[^0-9a-zA-Z_]`
`[]`1)用来表示范围。2)匹配任意一个中括号中定义的原子
`[^]`: 中括号里面的^(抑扬符):表示匹配任意一个除中括号里面定义的原子
#### **限定次数**
`*`匹配0次、1次或多次其前的原子, 等价于:`{0,}`
`+`匹配1次或多次其前的原子, 等价于:`{1,}`
`?`匹配0次或1次其前的原子, 等价于:`{0,1}`
`{n}`表示其前的原子正好出现n次, 等价于:`{n,}`
表示其前的原子至少出现n次,最多不限制
`{m,n}`表示其前的原子最少出现m次,最多出现n次
#### **其它**
`.`匹配除换行符(\\n)以外的任意字符【windows下还匹配`\f\r`】
`|`两个或多个分支选择【优先级最低】
`^`匹配输入字符的开始位置
`$`匹配输入字符的结束位置
`\b`匹配词边界
`\B`匹配非词边界
`()`1)模式单元,把多个小原子组成一个大原子。2)可以改变优先级
- 空白目录
- 常用功能
- PHP中常用的header头部定义
- 压缩包下载1
- 压缩包下载2
- 文件下载
- php常用加密函数总结
- url请求参数加解密
- PHP操作大全
- 指定月份的第某个月
- PHP 数组和字符串互相转换实现方法
- php字符串截取的简单方法
- php 根据子分类循环获取其父级分类
- PHP文件操作功能函数大全
- PHP常用到的功能函数
- 自定义php常用函数110个
- 自定义PHP常用功能函数
- 开发中常用自定义小功能函数
- PHP判断远程文件是否存在
- PHP写文件函数
- PHP生成GUID的函数
- PHP常用正则表达式汇总
- php字符串压缩
- PHP无限分组
- PHP简单 对象(object) 与 数组(array) 的转换
- PHP数组常用函数
- PHP调式测试函数
- PHP常用字符串的操作函数
- mysql 常用内置函数
- PHP通用请求函数CURL封装
- 裁剪图片PHP代码
- PDO操作MYSQL封装类
- 10个实用的PHP代码片段
- 获取访问者IP地址
- PHP实现发红包程序
- PHP把文本转换成图片
- curl重写php file_get_contents
- PHP生成一个随机字符串
- PHP读文件和写文件
- PHP根据key 给二维数组分组
- php中curl模拟post提交多维数组
- 33个超级有用必须要收藏的PHP代码样例
- PHP防XSS 防SQL注入的代码
- php常用数组array函数实例总结
- 用PHP遍历目录下的全部文件
- GBK2UTF8
- php函数类库
- 一、php一些常用的校验
- 1.1、校验是否为空(null/空串)1
- 1.2、校验是否为纯数字1
- 1.3、校验是否为纯数字(正则)1
- 1.4、检验手机号1
- 1.5、校验邮箱格式1
- 1.6、检查密码长度是否符合规定1
- 二、手机类型访问判断
- 三、字符集文件转换
- 3.1、utf8转gbk
- 3.2、gbk转utf8
- 3.3、繁体转简体
- 3.4、简体转繁体
- 3.5、unicode转utf8
- 3.6、utf8转unicode
- 3.7、Ascii转拼音
- 3.8、gbk转拼音
- 3.9、数组 utf8转gbk
- 3.10、数组 gbk转utf8
- 3.11、json 处理gbk转码utf-8问题( json_encode转换数组,值为null)
- 3.12、Unicode解码
- 四、文档目录操作
- 4.1、转化 \ 为 /
- 4.2、创建目录
- 4.3、拷贝目录及下面所有文件
- 4.4、转换目录下面的所有文件编码格式
- 4.5、列出目录下所有文件
- 4.6、设置目录下面的所有文件的访问和修改时间
- 4.7、目录列表
- 4.8、删除目录及目录下面的所有文件
- 4.9、取得文件扩展
- 4.10、查询字符是否存在于某字符串
- 4.11、获取文件目录列表
- 4.12、删除一个路径下的所有文件夹和文件的方法
- 4.13、文件下载
- 五、session与cookie
- 5.1、设置session
- 5.2、读取session
- 5.3、清除session
- 六、CURL操作
- 6.1、发起get请求
- 6.2、发起post请求
- 6.3、curl获取跳转后的网址的url
- 6.4、curl判断远程图片是否加防盗链
- 6.5、curl获取301页面的内容
- 6.6、curl判断文件是否存在(404)
- 6.7、php的curl封装类
- 七、日期、时间与字节转换
- 7.1、转换字节数为其他单位(Gb、Mb等)
- 7.2、时间转换(将秒转换为时间)
- 7.3、将秒转换成 天-时分秒
- 7.4、时间转换(将时分秒转换为秒)
- 7.5、计算两个时间相差的天
- 7.6、获取文件大小并格式化
- 7.7、返回13位时间戳
- 7.8、返回与当前时间的差距,如1分钟前,2小时前,5月前等
- 7.8、PHP中DateTime的常用方法
- 八、对象、数组、字符串、转义等
- 8.1、将数组转换为对象
- 8.2、将对象转换为数组
- 8.3、将字符串转换为数组
- 8.4、将数组转换为字符串
- 8.5、将文本格式成适合js输出的字符串
- 8.6、返回经addslashes(转义)处理过的字符串或数组
- 8.7、返回经stripslashes(删除反斜杠)处理过的字符串或数组
- 8.8、返回经htmlspecialchars(字符转html)处理过的字符串或数组
- 8.9、安全过滤函数
- 8.10、xss过滤函数
- 8.11、过滤ASCII码从0-28的控制字符
- 8.12、格式化文本域内容
- 8.13、将文本格式成适合js输出的字符串
- 8.14、转义 javascript 代码标记
- 8.15、数组转码
- 8.16、php用逗号格式化数字
- 8.17、数组去重
- 8.18、字符串去重
- 8.19、数组排序
- 九、加密扩展
- 9.1、简单的字符串加密、解密函数
- 9.2、简单的加密解密类
- 9.3、简单对称加密算法2
- 9.4、常用对称加密算法(DES/AES)类
- 9.5、3des加密解密类-三重数据加密算法
- 十、随机数、获取请求ip等
- 10.1、产生随机字符串
- 10.2、获取请求ip
- 10.3、生成一定范围内的随机数字
- 10.4、生成不重复的随机数
- 10.5、生成一定数量的随机数,并且不重复
- 10.6、生成32位随机数
- 10.7、生成9位随机数字(可以做qq用)
- 十一、其他
- 11.1、php对html页面压缩函数
- 11.2、构建层级(树状)数组、
- 11.3、获取内容中的图片
- 11.4、生成sql语句,如果传入$in_cloumn 生成格式为 IN('a', 'b', 'c')
- 11.5、打印各种类型的数据,调试程序时使用。
- 11.6、URL重定向
- 11.7、替换html代码里的所有图片的url,新增url
- 11.8、去除html里的p标签
- 11.9、去除字符串中所有html代码(格式化代码html)
- 11.10、将number_format的输出转换为php数字
- 11.7、内容里批量替换图片的url地址为自己的地址
- 十二、类库
- 1、php 5.6.3PHP封装的数据库模型Model类完整示例【基于PDO】
- 2、Curl类库
- 3、php PDO数据库类库
- 4、获取网站title
- 字符串配置转数组
- 数组助手类1
- 获取随机字符串
- 获取头像存储路径
- 单位转换函数
- 获取字符串长度
- 获取中文字符拼音首字母
- 获取当前页面URL地址
- 获取n天前的时间戳
- 获取n天前0点的时间戳
- 获取ip地址所在的区域
- 邮箱验证
- PHP常用函数总结(160多个)
- PHP判断输入数据是否合法常用的类
- 无限极分类
- php ajax实现分页功能
- 代码
- html
- sendAjax.js
- data.js
- page.js
- page.css
- php基础
- 字符串
- 字符串1
- 字符串常用函数
- 数组
- 数组简介
- 数组的定义
- 数组的操作
- 1 数组的计算
- 2 for循环遍历索引数组
- 3 foreach遍历关联数组
- 4 list、each函数遍历数组
- 5 常用操作数组函数
- 数组的常用函数
- 时间
- PHP的日期和时间
- 1 获取时期时间信息函数
- 2 日期验证函数
- 3 获取本地化时间戳函数
- 4 程序执行时间检测
- 文件操作
- 文件处理系统
- 1 读取文件
- 2 创建和修改文件内容
- 3 创建临时文件
- 4 移动、拷贝和删除文件
- 5 检测文件属性函数
- 6 文件常用函数和常量
- 7 文件锁处机制
- 8 目录处理函数
- 9 文件权限设置
- 10文件路径函数
- 11 小小文件留言本
- 12 修改配置文件的实例
- 流程控制
- 流程控制结构
- if条件结构流程
- 1 if语句
- 2 嵌套if...else...elseif结构
- 3 if语句多种嵌套
- 分支结构switch语句的使用
- 循环语句的使用
- 1 while循环
- 2 do...while循环的区别
- 3 for循环控制语句
- 4 goto语法
- 5 declare 语法
- 函数
- PHP函数
- 自定义函数
- 自定义函数高级调用
- 1 回调函数
- 2 变量函数
- 3 匿名函数
- 4 内部函数
- 5 变量作用域
- 6 参数的引用
- 7 递归函数
- 8 静态变量
- 使用系统内置函数
- 文件包含函数
- 数学常用函数
- 正则
- PHP正则表达式
- 1 正则表达示的定界符
- 2 正则表达示中的原子
- 3 正则表示中的元字符
- 4 正则达达示中的模式修正符
- 5 写正则的诀窍和常用正则
- 6 用正则写一个UBB文本编辑器
- 常用正则
- 错误处理
- 1 禁止显示错误
- 2 错误报告级别
- 3 错误记录日志
- 4 自定义错误处理函数
- 错误及异常处理机制、错误日志
- 过滤器
- 表达式
- PHP基本语法
- PHP基本语法(一)
- PHP基本语法(二)
- GD库图像处理
- 文件上传和下载
- PHP文件上传
- 1 文件上传需要注意php.ini文件
- 2 文件上传的步骤
- 3 文件上传表单注意事项
- 4 按照数组和步骤完成文件上传
- 5 多文件上传
- 6 文件上传进度处理
- PHP图像处理
- 1 学习前的准备工作
- 2 用图片处理函数画一张图
- 3 生成验证码
- 4 图像缩放和裁剪技术
- 5 图片水印处理
- 常量和变量
- 1 用常量限制用户跳过某些文件
- .2 可变变量
- 3 外部变量
- 4 环境变量
- 5 变量引用
- PHP表达式与运算符
- 1 算术运算
- 2 赋值运算
- 3 自加、自减运算
- 4 比较运算
- 5 逻辑运算
- 6 位运算
- 7 运算符优先级
- 8 三元运算符和其它运算符
- 会话管理和控制
- 1 Cookie概述
- 2PHP中的Cookie
- 3 session概述
- 4 PHP中使用session
- 5 SESSION应用实例
- 会话技术(cookie session)
- 会话技术 session场景使用介绍!
- PHP.in中session和cookie的配置说明
- 通过cURL来做小偷程序
- 1 curl的使用步骤
- 2 自定义get方法抓取网页
- 3 使用post发送数据
- PHP基础数据类型及运算符介绍
- 数据类型
- 1 整型就是整数
- 2 布尔就是易经的知识
- 3 字符串
- 4 浮点型
- 5 重要:if和else语法
- 6 NULL类型
- 7对象以后会学
- 8 数组会有单纯的一个章节
- 9 资源类型
- 10 眼前了解回调类型即可
- 11 查看和判断数据类型
- 12 数据类型的自动转换和强制转换
- PHP版本
- php自动加载
- xml的介绍
- openssl的介绍
- php文件管理
- 数据库Mysql
- 数据库之MySQL(概述)
- PHP数据库编程
- 数据库编程(2)
- SQL常见的可优化点
- Mysql设计与优化专题
- mysql的最佳索引攻略
- 详解慢查询
- ER图,数据建模与数据字典
- 数据中设计中的范式与反范式
- 字段类型与合理的选择字段类型
- 表的垂直拆分和水平拆分
- 21分钟 MySQL 入门教程
- 一、MySQL的相关概念介绍
- 二、Windows下MySQL的配置
- 三、MySQL脚本的基本组成
- 四、MySQL中的数据类型
- 五、使用MySQL数据库
- 六、操作MySQL数据库
- 七、创建后的修改
- 八、附录
- 3天入门MySQL
- 前言1
- 01. 数据库的用途和概念
- 02. 娱乐化讲解表关系
- 03. mysql 数据库安装
- 04. 数据语句操作类型
- 05. 连接数据库
- 06. 数据库结构定义语句
- 6.2 数据表操作
- 6.1 数据库操作
- 6.3 数据字段操作
- 07. 类型、字符集、引擎和索引
- 7.1 数据类型
- 7.2 字符集
- 7.3 表引擎
- 7.4 索引
- 08. 增删改查
- 12.8.1 插入记录
- 12.8.2 查询记录
- 12.8.3 多表联合查询
- 12.8.4 更新记录
- 12.8.5 删除记录
- 09. DCL语句
- 10. 常用工具简介
- 附录1 . 学习MySQL常用的英文单词
- MySQL 超新手入门
- (1) 重新开始
- (2) 数据库概论和 MySQL 安装
- (3) SELECT 基础查询
- (4) 运算式和函数
- (5) JOIN 和 UNION 查询
- (6) CRUD 和资料维护
- (7) 字符集和数据库
- (8) 存储引擎和数据类型
- (9) 表格和索引
- (10) 子查询
- (11) 视图
- (12) 预处理语句
- (13) 存储过程入门
- (14) 存储过程的变量和流程
- (15) 存储过程进阶
- (16) 触发器
- (17) 资料库资讯
- (18) 错误处理和查询
- (19) 导入和导出数据
- (20) 性能
- php常用类
- 面向对象
- 面向对象(OOP)编程完全教程
- 1.什么是面向对象
- 2.什么是类,什么是对象,类和对象这间的关系
- 3.什么是面向对象编程呢
- 4.如何抽象出一个类
- 5.如何实例化对象
- 6.如何去使用对象中的成员
- 7.特殊的引用this的使用
- 8.构造方法__construct()与析构方法__destruct()
- 9.封装性(var与public,protected,private的关系)
- 10.__set(),__get(),__isset(),__unset()四个方法的应用
- 11.类的继承
- 12.重载新的方法(parent::)
- 13.访问类型(public,protected,private)
- 14.final关键字的应用
- 15.static和const关键字的使用(self::)
- 16.__toString()方法
- 17.克隆对象__clone()方法
- 18.__call()处理调用错误
- 19.抽象方法和抽象类(abstract)
- 20.PHP5接口技术(interface)
- 21.多态的应用
- 22.把对象串行化serialize()方法,__sleep()方法,__wakeup()方法
- 23.自动加载类 __autoload()函数
- PHPer进阶
- 单例模式
- 工厂方法模式
- 适配器模式
- 建造者模式(通过选择mysql,mongo数据库链接类型做说明)
- 委托模式
- 对象基础实践
- 深入了解面向对象高级特性
- 抽象类和接口类的实际作用
- PHP解决问题进化论(整理笔记)
- PHP7新特性整理介绍篇
- php-fpm 与 Nginx优化总结
- Centos+Nginx+PHP7.0编译安装(和PHP5.6老版本共存)
- PHP7:Mongodb API使用
- PHP之include/require深入了解
- PHP内核了解:生命周期及运行模式
- 面向对象总结
- 基础概念
- 什么是类
- 什么是对象
- 静态属性
- 三大特征
- 封装
- 继承
- 多态
- 9个常用的魔术方法
- __construct
- __destruct
- __call
- __get
- __set
- __sleep
- __toString
- __clone
- __autoload
- 抽象类
- 对象接口
- 面向对象设计模式
- 前言
- (一),单例模式
- (二),Builder模式
- (三),原型模式
- (四),工厂方法模式
- (五),策略模式
- (六),状态模式
- (七),观察者模式
- (八),责任链模式
- (九),适配器模式
- (十),代理模式
- (十一),装饰模式
- (十二),外观模式
- (十三),解释器模式
- PHP开发第一步,PHP5.6 + MySQL5.5 + Apache2.4环境搭建
- 面向对象1
- 类和对象
- 面向对象高级
- php编程总结
- PHP学习笔记
- MySQL学习笔记
- php基础知识
- javascript
- javascript DOM总结
- JavaScript (JS) 函数补充 (含arguments、eval()、四种调用模式)
- JavaScript (JS) 面向对象编程 浅析 (含对象、函数原型链、闭包解析)
- JavaScript (JS)基础:BOM 浅析 (含window对象相关基本方法、属性解析)
- JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)
- JavaScript (JS)基础:ECMAScript 浅析 (含Math基本方法解析)
- js功能函数
- 一、js一些常用的校验
- 1.1、校验是否为空(null/空串)
- 1.2、校验是否为纯数字
- 1.3、校验是否为纯数字(正则)
- 1.4、检验手机号
- 1.5、验证座机号
- 1.6、校验ip
- 1.7、检验url地址
- 1.8、检验身份证
- 1.9、检验邮箱
- 1.10、检验日期
- 1.11、检验金额
- 1.12、检验否是汉字
- 1.13、校验数字的表达式
- 1.14、校验字符的表达式
- 1.15、特殊需求表达式
- 1.16、检测密码强度
- 二、手机类型判断
- 三、返回字符串长度,汉子计数为2
- 四、获取url中的参数
- 五、js 绑定事件 适用于任何浏览器的元素绑定
- 六、获得当前浏览器JS的版本
- 七、获取当前点击事件的Object对象
- 八、字符串截取方法
- 九、JS 弹出新窗口全屏
- 十、全选/全不选
- 十一、js 判断浏览器
- 十二、JS判断两个日期大小
- 十三、移除事件
- 十四、回车提交
- 十五、JS 执行计时器
- 十六、JS 写Cookie
- 十七、JS 读Cookie
- 十八、Ajax 请求
- 十九、JS StringBuilder 用法
- 二十、JS 加载到顶部LoadJS
- 二十一、清空 LoadJS 加载到顶部的js引用
- 二十二、JS 替换非法字符
- 二十三、按Ctrl + Entert 直接提交表单
- 二十四、获取当前时间
- 二十五、Js 去掉空格方法
- 二十六、js 动态移除 head 里的 js 引用
- 二十七、整个URL 点击事件 加在URL里的onclick里
- 二十八、判断浏览器使用的是哪个 JS 版本
- 二十九、加入收藏夹
- 三十、动态加载 CSS 样式文件
- 三十一、返回脚本内容
- 三十二、清除脚本内容
- 三十三、返回按ID检索的元素对象
- 三十四、显示元素 待验证
- 三十五、与insertBefore方法(已存在)对应的insertAfter方法
- 三十六、光标停在文字的后面,文本框获得焦点时调用
- 三十七、检验URL链接是否有效
- 三十八、格式化CSS样式代码
- 三十九、压缩CSS样式代码
- 四十、 获取当前路径
- 四十一、ip 转 整型
- 四十二、整型解析为IP地址
- 四十三、删除cookies
- 四十四、判断是否以某个字符串结束
- 四十五、判断是否以某个字符串开头
- 四十六、根据样式名称检索元素对象
- 四十七、 获取移动设备初始化大小
- 四十八、 获取移动设备最大化大小
- 四十九、获取移动设备屏幕宽度
- 五十、获取页面scrollLeft
- 六十、获取页面宽度
- 六十一、获取页面scrollTop
- 六十二、获取页面可视高度
- 六十三、判断数组元素是否重复
- 六十四、生成随机数
- 六十五、数组去重
- 六十六、深度拷贝对象
- 六十七、全部替换replaceAll
- 六十八、阻止冒泡
- 六十九、返回顶部
- 七十、jsonp跨域请求
- 七十一、到某一个时间的倒计时
- 七十二、清除对象中值为空的属性
- 七十三、获取文件后缀名的方法
- 七十四、判断一个对象是不是数组类型
- 七十五、冒泡排序
- 七十六、实现一个最简单的模板引擎
- 七十七、数组最大值最小值
- 七十八、数组求和,平均值
- 七十九、从数组中随机获取元素
- 八十、返回对应元素在数组中的下标
- 八十一、返回数组(字符串)一个元素出现的次数
- 八十二、得到n1-n2下标的数组,即返回数组下标arr[n1]到数组arr[n2]的值
- 八十三、筛选数组,这里所做的就只是删除相应的数组
- 八十四、去除字符串空格
- 八十五、字母大小写切换
- 八十六、字符串循环复制,前面的要循环的字符串,后面的要循环的次数
- 八十七、字符串替换,这里的要替换的字符串必须是连续的
- 八十九、将时间戳转换成日期格式
- 九十、检验字符串是否超过某个值,超出出现省略号
- 九十一、随机码,这里的参数count必须是 2 ~ 36 之间的整数
- 九十二、查找字符串中某字符出现的次数
- 九十三、JS插入排序
- 九十四、获取前num天的日期
- 九十五、js实时计算rem,宽度大于1920px时1rem=100px
- 九十六、原生JS获取鼠标XY轴的值
- 九十七、转成XML对象
- 九十八、Js身份证验证函数
- 九十九、格式化数字串
- 一百、原生Ajax 请求
- 一百零一、两条直角边算角度
- 一百零二、禁止readonly和disabled的input退格键返回上一页
- 一百零三、生成随机字母字符串
- 一百零四、float偏移处理
- 一百零五、根据月份获取起止时间戳
- 一百零六、工具函数对象书写例子,可自己扩展
- 一百零七、js字符串压缩算法与解压
- 一百零八、指定数组元素排序(正序倒序)
- 一百零九、js所有的内置方法
- JavaScript 常用函数总结
- js常用函数整理
- JavaScript基础
- javaScript基础&DOM(一)
- javaScript基础&DOM(二)
- JavaScript语法基础1
- javascript数组对象
- javascript字符串函数
- jquery、javascript实现(get、post两种方式)跨域解决方法
- php MVC原理
- php基础知识(语法与原理)
- PHP编程经验
- 第一章 代码风格
- 第二章 代码注释
- 第三章 目录结构
- 第四章 文件管理
- 第五章 代码整理
- 第六章 路径和路由
- 第七章 实用表格
- 第八章 实用开发软件
- 第九章 技术提升心得
- 第十章 实用插件搭配
- 第十一章 常用设计模式
- PHP编码规范文档
- PHP加快执行效率的写法规范
- VUE避坑指南
- 从零开始学Vue
- Vue-cli
- PHP工具类
- 数组助手类
- 通用助手类
- 时间助手类
- 图像
- 拼音助手类
- 字符串助手类
- 验证助手类
- 时间类封装
- 数据库链式调用封装
- curl 封装 / 发送文件 / 远程下载到服务器
- php Captcha 驗證碼類
- php 替换敏感字符串
- php返回数据格式化类
- php XML文件解释类
- php CSS Update Class
- PHPMailer - PHP email transport class
- PHP 遍历文件夹及文件类及处理类
- 自动登入google play下载app report
- php click captcha 验证码类
- php 获取页面中的指定内容类
- php 支持断点续传的文件下载类
- php 缩略图生成类,支持imagemagick及gd库两种处理
- php 根据url自动生成缩略图
- php 过滤html标记属性类
- php HTTP请求类,支持GET,POST,Multipart/form-data
- php Cookies 操作类
- php 密码生成类
- php main 与 iframe 相互通讯类(同域/跨域)
- php 根据url自动生成缩略图,并处理高并发问题
- php Timer 页面运行时间监测类
- php 双向队列类
- php 导出CSV抽象类
- php zip文件内容比较类
- php 获取/设置用户访问页面语言类
- php 获取Youtube某个User所有Video信息
- php 字符编码转换类,支持ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom 互相转换
- php 版本处理类
- TP5
- 验证器
- 内置规则
- tp5数据库操作
- 数据添加或更新
- 静态增删改查 / 关联操作
- 日志操作
- 路由
- taglib-自制标签
- migrations 数据库迁移
- TP3.2
- 数据库操作
- 发送邮箱
- Tp6
- Redis
- 字符串 / 列表 / Hash / Set / Zet / 基数统计算法
- 队列 /订阅发布 php实例
- 事务 / bitmap 位图 / 地理位置
- 备份与恢复 / 性能测试
- 设置密码 / 模糊查询
- 性能优化
- php+redis实现高并发模拟下单、秒杀、抢购操作
- Redis 的简单介绍
- Redis 最常见的问题
- 扩展thinkphp5的redis类方法
- php for redis
- 前言11
- 字符串11
- 集合
- 有序集合
- 列表
- 哈希
- key操作
- Redis 基础教程
- 简介
- 递增
- 过期
- 列表1
- 集合1
- 可排序集合
- 哈希表
- Redis学习文档
- 序言
- 简介1
- Window 下安装
- 执行
- Linux 下安装
- 数据类型1
- String
- Hash
- List
- Set
- zset
- 区别和详解
- 命令
- Keys
- flushall
- del
- ping
- 设置密码
- 实例
- PHP+Redis 实例【一】点赞 + 热度
- Thinkphp+Redis
- 数据队列
- 字符串111
- 列表11
- 集合11
- 哈希1
- 有序集合1
- 添加redis函数助手
- 基础知识
- Redis的7个应用场景
- 深入解析Redis中常见的应用场景
- MongoDB和Redis的区别
- 相关书籍
- 函数整理
- redis知识总结
- redis学习文档
- 常用命令
- 运维常用命令
- 通用操作相关命令
- 字符串相关命令
- 链表list相关命令
- 集合set相关命令
- 有序集合相关指令
- 哈希hash
- 事务
- 订阅和发布
- rdb快照持久化
- aof日志持久化
- redis集群 主从配置
- sentinel监视
- key的设计
- Redis实践技巧
- 前言111
- 第1章 keys键操作
- 第2章 string类型
- 第3章 list类型
- 第4章 set类型
- 第5章 sort set排序类型
- 第6章 hash类型
- 第7章 redis备份
- 第8章 主从复制
- 第9章 设置密码
- 第10章 事务
- 第11章 php操作redis
- Redis常见7种使用场景(PHP实战)
- redis
- jQuery学习总结
- jquery总结2
- Git
- php微信接口开发
- php微信接口开发(卷一)
- 开发心得
- 申请微信测试号
- 打通服务器与微信之间的通信
- 接受微信发送的信息
- 回复微信发送的信息
- 微信回复单图文消息
- 微信回复多图文消息
- curl用法小测试
- 获取access_token
- 获取微信的media_id
- 微信回复图片消息
- 关注自动回复
- 微信生成自定义菜单
- 【实战】后台管理自定义菜单
- 1.页面数据提交并展示
- 2.组装一、二级菜单
- 3.完成简略自定义菜单
- 【实战】thinkphp框架开发微信接口
- 1.相关东西下载地址
- 2.配置thinkphp3.2.3
- 3.微信回复文本消息
- 4.微信获取个人基本信息
- php微信接口开发(卷二)
- 网页授权获取用户基本信息
- 1.输出回调地址
- 2.获取用户信息页面
- 3.数据写入数据库
- 用户分组接口的使用
- 1.对上节代码的优化处理
- 2.获取所有用户组
- 3.创建一个分组
- 4.查询指定用户的分组
- 群发消息的接口的使用
- 1.创建新控制器
- 2.预览群发消息接口
- 3.群发消息
- 生成带参数的二维码
- 长连接转短连接
- 微信js-SDK的引入
- 1.获取jsapi_ticket
- 2.判断当前客户端版本是否支持指定JS接口
- 图像接口的使用
- 扫一扫二维码接口
- php微信接口开发(卷三)
- 微信公众号
- 1.前提条件
- 2.微信公众平台需要做的设置
- 微信支付商户平台
- 1.操作证书
- 2.配置密钥
- 3.配置支付授权目录
- 公众号支付(Jsapi支付)
- 1.SDK与demo下载
- 2.测试DEMO
- 3.将支付接口更为真实公众号信息
- 微信商城
- 1.tp3+bootstrap使用实战
- 2.图片上传实战
- 3.商城后台实战
- 4.购买商城实战
- 5.下订单后使用微信支付
- 小程序基础
- 简介12
- 接入指南
- 开发者工具的使用
- 代码审核与发布
- 小程序申请微信认证
- 小程序申请微信支付
- 小程序绑定微信开放平台帐号
- app.json配置
- 配置demo
- pages
- window
- tabBar
- networkTimeout
- debug
- page.json
- API
- 发起网络请求
- 网络请求提交表单
- 引入
- WeUI
