**
常用函数
**,字符串:
求php字符串的长度,,有两个函数:
strlen(字符串):
求该字符串的“字节数”,也就是占据的字节空间大小;
mb_strlen(字符串):
求该字符串的“字符个数”。
使用phpinfo()函数没有找到php_mbstring这个函数,原因是PHP配置文件没有找到动态扩展库的位置
字符串函数:
字符串输出:
echo: 输出一个或多个字符(不是函数,是语言结构)
print:输出一个字符串
print_r:输出变量的较为详细的信息
var_dump:输出变量的完整信息
字符串去除与填充:
trim:消除一个字符串两端的空白字符或指定字符(空白字符包括:空格,\n, \r, \t等)
ltrim:消除一个字符串左边的空白字符或指定字符
rtrim:消除一个字符串右边的空白字符或指定字符
str_pad:将一个字符串使用指定的字符填充到指定的长度
字符串连接与分割:
implode:将一个数组的值连接起来组成一个字符串
join:同implode
explode: 将一个字符串使用指定的字符分割为一个数组
str_split:将一个字符串按指定的长度分割为一个数组
字符串截取:
substr:获取一个字符串中指定位置开始指定长度的子字符串
strstr:获取一个字符串中某个指定字符首次出现的位置起,到最后结尾处的字符
strstr(‘abcd.12.3.txt’, ‘.’); //结果是:”.12.3.txt”
strrchr:获取一个字符串中某个指定字符最后一次出现的位置起,到最后结尾处的字符
strrchr(‘abcd.12.3.txt’, ‘.’); //结果是:”.txt”
字符串替换:
Substr:返回字符串的子串;
str_replace:将一个字符串中的指定字符,替换为给定的新字符。
substr_replace:将一个字符串中指定位置开始的指定个数的字符,替换为给定的新字符。
str_repeat: 重复输出某个字符串
字符串位置:
strpos:获取一个字符串中某个子字符串首次出现的位置(下标,键)。
strpos(‘abcd.12.3.txt’, ‘.’); //结果是:4
strrpos:获取一个字符串中某个子字符串最后一次出现的位置。
strrpos(‘abcd.12.3.txt’, ‘.’); //结果是:9
strrpos(‘abcd.12.3.txt’, ‘cd’); //结果是:2
字符转换:
strtolower:将一个字符串转换为小写。
strtoupper:将一个字符串转换为大写。
lcfirst:将一个字符串的首字母转换为小写。
ucfirst:将一个字符串的首字母转换为大写。
ucwords:将一个字符串中的所有单词的首字母转换大写。
特殊字符处理:
nl2br:将换行符转换为”
”标签字符
addslashes: 将一个字符串中的以下几个字符使用反斜杠进行转义:\ ‘ “
htmlspecialchars:将html中的特殊字符转换为html实体字符,如下所示:
(& ‘ “ < > )分别转换为:((& ' " < > )
htmlspecialchars_decode:将html实体字符,转换回原本的字符。
array_intersect — 计算数组的交集
array_column 返回数组中指定的一列
unset() 销毁指定的变量。
in_array — 检查数组中是否存在某个值
implode — 将一个一维数组的值转化为字符串
**
1.1.常用数组函数
**
2.max(): 获取一个数组中的最大值
3.min(): 获取一个数组中的最小值
4.count(): 获取一个数组的元素个数
5.in_array(): 判断一个数据是否在指定数组中。
6.语法形式:$b = in_array( $数组, 数据); //结果true或false
7.range(): 生成某个范围的连续值的数组,比如range(3, 9)会得到数组:array(3, 4, 5, 6, 7, 8, 9, );
8.array_merge() 合并数组
9.array_keys(): 取出一个数组中的所有“键”并放入一个索引数组中。
10.array_values(): 取出一个数组中的所有“值”并放入一个索引数组中。
11.array_push(): 将一个或多个数据放入一个数组的“末端”。
12.array_unshift(): 将一个或多个数据放入一个数组的“前端”。
13.array_pop(): 将一个数组的最后一个单元删除,并返回该单元的值。
14.array_shift(): 将一个数组的第一个单元删除,并返回该单元的值。
15.array_reverse():将一个数组的所有单元的顺序进行反转(最前的放最后,最后的放最前)
16.array_column 返回数组中指定的一列(一组相同下标的元素)
php中,有如下几个函数,可以针对数组指针进行相应操作:
current( $arr1); //取得数组中当前指针所在单元的值;
key( $arr1 ); //取得数组中当前指针所在单元的键(下标);
next( $arr1 ); //将数组中的指针往后移动一个位置,并取得新位置上的值;
prev( $arr1 ); //将数组中的指针往前移动一个位置,并取得新位置上的值;
end(
a
r
r
1
)
;
/
/
将
数
组
中
的
指
针
移
动
到
最
后
一
个
位
置
,
并
取
得
新
位
置
上
的
值
;
r
e
s
e
t
(
arr1 ); //将数组中的指针移动到最后一个位置,并取得新位置上的值; reset(
arr1);//将数组中的指针移动到最后一个位置,并取得新位置上的值;reset(arr1); //将数组中的指针移动到最前一个位置,并取得新位置上的值;
in_array() :在一个数组中找是否存在某个数据。
array_search() : 在数组中搜索给定的值,如果成功则返回相应的键名
array_key_exists() : 检查给定的键名或索引是否存在于数组中
array_column — 返回数组中指定的一列
scandir — 列出指定路径中的文件和目录
file_put_contents — 将一个字符串写入文件
**
常用时间函数
**
time:获得当前时间(精确到秒),结果其实一个“整数”而已,代表从1970年1月1日0:0:0秒到当前时刻的秒数。
microtime:获得当前时间(可以精确到微秒)
mktime:创建一个时间数据,参数为:时、分、秒,月、日、年
date:将一个时间转换为某种字符串形式
idate:取得一个时间的某个单项数据值,比如idate(“Y”)取得年份数
strtotime:将一个字符串“转换”为时间值;
date_default_timezone_set:在代码中设置“时区”
date_default_timezone_get:在代码中获取“时区”
**
常用数学函数(重点)
**
max: 取得若干个数据中的最大值
min: 取得若干个数据中的最小值
round: 对某个数据进行四舍五入(可以设定保留几位小数)
ceil: 对某个数“向上取整”:将一个数据往上找出其小的一个整数(含其本身)。
floor: 对某个数“向下取整”:将一个数据往下找出其大的一个整数(含其本身)
$n1 = floor(4.1); //4
$n2 = floor(4.9); //4
$n3 = floor(4); //4
$n4 = floor(-4.1); //-5
abs: 取得某个数据的绝对值
sqrt: 计算某个数的开方值
pow: 对某个数进行“幂运算”(就是获得某个数的若干次方)
$n1 = pow(3, 2); //3的2次方,9
$n2 = pow(2, 3); //8
$n3 = pow(1.5, 2); //2.25
$n4 = pow(1.5, 2.5); //。。。。。1.5的2.5次方
$n5 = pow(9, 0.5); //3,就是开方,相当于sqrt()
rand: 获得某两个数之间的随机整数(含该两个数)
mt_rand: 获得某两个数之间的随机整数(含该两个数), 。
$n1 = mt_rand(0, 10); //随机数在0-10之间(含)
跟函数有关的函数
function_exists(“函数名”):判断一个函数是否已经存在;
func_get_arg( $n ): 在函数内部可用,用于获得第n个实参(n从0开始算起)
func_get_args(): 在函数内部可用,用于获得所有实参,结果是一个数组
func_num_args(): 在函数内部可用,用于获得实参的个数
sleep — 延缓执行 (睡眠)
图片及文件操作
uniqid — 生成一个唯一ID
pathinfo — 返回文件路径的信息
例子:
f
i
l
e
n
a
m
e
=
filename=
filename=name.uniqid().’.’.pathinfo(
f
i
l
e
[
′
n
a
m
e
′
]
[
file['name'][
file[′name′][key])[‘extension’];
上传文件的相关配置(php.ini)
upload_max_filesize配置:上传单个文件的大小限制,默认为2MB。
post_max_size配置:规定上传多个文件的总大小,默认为8MB。
max_file_uploads配置:规定最多上传的文件个数,默认为20个。
将上传文件移动到新位置
例子:move_uploaded_file ($filename(文件临时存储路径) , $destination(指定文件保存路径) )
**
上传文件错误代码
**
例子:switch ($error) {
case 1 :
$error_cuo=‘上传的文件超过了php.ini中的大小’.ini_get(“upload_max_filesize”);//获取配置文件ini中的大小
break;
case 2 :
$error_cuo=‘文件上传大小超过表单的限制,最大1M’;
break;
case 3 :
$error_cuo=‘文件只是部分上传’;
break;
case 4 :
$error_cuo=‘没有选择文件’;
break;
case 6 :
$error_cuo=‘找不到临时文件存储的目录’;
break;
case 7:
$error_cuo=‘文件写入失败’;
break;
}
//根据错误的代码输出错误的信息
if ($error!=0) {
echo $error_cuo;
exit;
}
echo 'OK';
重要:超全局变量数组$_FILES
一般用来接收照片传过来的数据
**
文件上传原理:
**
例子:
生成图像缩略图:
例子://缩略图
//1)打开源图
$src_img=imagecreatefromjpeg(’./images/2.jpg’);
//2)获取源图的大小
x
=
i
m
a
g
e
s
x
(
x=imagesx(
x=imagesx(src_img);
y
=
i
m
a
g
e
s
y
(
y=imagesy(
y=imagesy(src_img);
//3)创建新的画布来放源图
$dst_x=1/4*$x;
$dst_y=1/4*$y;
$dst_img=imagecreatetruecolor($dst_x,$dst_y);
//4)整合
imagecopyresampled($dst_img,$src_img,0,0,0,0,$dst_x,$dst_y,$x,$y);
// 输出
header('content-type:image/jpeg');
imagejpeg($dst_img);
//imagejpeg($dst_img,'thumb_1.jpg');
制作图像水印:
例子://水印
//1)创建画布
$img=imagecreatefromjpeg(’./images/2.jpg’);
i
m
g
w
i
d
t
h
=
i
m
a
g
e
s
x
(
img_width=imagesx(
imgwidth=imagesx(img);
i
m
g
h
e
i
g
h
t
=
i
m
a
g
e
s
y
(
img_height=imagesy(
imgheight=imagesy(img);
//echo
i
m
g
w
i
d
t
h
.
′
−
′
.
img_width.'-'.
imgwidth.′−′.img_height;
//2)写文字
$fontsize=50;
$str=“大 美 女”;
x
=
(
x=(
x=(img_width-mb_strlen(
s
t
r
)
∗
str)*
str)∗fontsize)/2;
y
=
y=
y=img_height/2;
c
o
l
o
r
=
i
m
a
g
e
c
o
l
o
r
a
l
l
o
c
a
t
e
(
color=imagecolorallocate(
color=imagecolorallocate(img,255,0,0);
//使用绝对路径进行引入
f
o
n
t
f
i
l
e
=
"
F
:
/
k
u
a
i
j
i
a
n
/
p
r
o
j
e
c
t
/
1905
/
20190802
/
i
m
a
g
e
s
/
m
s
y
h
.
t
t
f
"
;
i
m
a
g
e
t
t
f
t
e
x
t
(
fontfile="F:/kuaijian/project/1905/20190802/images/msyh.ttf"; imagettftext(
fontfile="F:/kuaijian/project/1905/20190802/images/msyh.ttf";imagettftext(img,
f
o
n
t
s
i
z
e
,
30
,
fontsize,30,
fontsize,30,x,
y
,
y,
y,color,
f
o
n
t
f
i
l
e
,
fontfile,
fontfile,str);
//3)输出
header(‘content-type:image/jpeg’);
imagejpeg($img);
数据库查询操作
数据库备份:
Mysql -hlocalhost -uroot -p book (事先创建保存的数据的路径)
恢复数据库:
Mysql -hlocalhost -uroot -p book(事先创建) (存在的文件)
ini_set() 为一个配置选项设置值
trigger_error() 函数能结合内置的错误处理器所关联,或者可以使用用户定义的函数作为新的错误处理程序
pathinfo() 函数以数组的形式返回文件路径的信息。
重要做防止xss攻击的函数
strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。
php版本比较函数version_compare()
PHP_VERSION:当前PHP的版本号。
str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)
file_exists() 函数检查文件或目录是否存在。如果指定的文件或目录存在则返回 true,否则返回 false。
array_merge() 函数把一个或多个数组合并为一个数组。
INTVAL()函数用于获取变量的整数值。
intval()函数通过使用指定的进制基转换(默认是十进制),返回变量var的整数数值.intval()不能用于对象,否则会产生E_NOTICE错误并返回1
dirname()函数返回路径中的目录名称部分。
unlink() 函数删除文件。若成功,则返回 true,失败则返回 false。
in_array() 函数搜索数组中是否存在指定的值。
strtolower()函数把字符串转换为小写。
array_filter()函数用回调函数过滤数组中的元素。该函数把输入数组中的每个键值传给回调函数。如果回调函数返回true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。
str_repeat() 函数把字符串重复指定的次数。
test() 方法用于检测一个字符串是否匹配某个模式.如果字符串中有匹配的值返回 true ,否则返回 false。
val() 方法返回或设置被选元素的 value 属性。当用于返回值时:该方法返回第一个匹配元素的 value 属性的值。当用于设置值时:该方法设置所有匹配元素的 value 属性的值。注意:val() 方法通常与 HTML 表单元素一起使用。
html() 方法返回或设置被选元素的内容 (inner HTML)。如果该方法未设置参数,则返回被选元素的当前内容。
preg_match 函数用于执行一个正则表达式匹配。
http_build_query()函数的作用是使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。