字符函数库: 函数库基础 安装字符串函数库 字符串函数库列表
函数是可以实现特定功能,可以重复执行的代码段。
函数分 内置函数 和 用户函数。
内置函数是指PHP本身提供的各类库函数。
字符串函数库,是PHP核心的组成部分
获取字符串长度:strlen函数
int strlen(string $str)
复制代码
utf-8
中文一个代表3个。strlen
用于英文等,无中文。
大小写转换:
$str('hh');
strtoupper($str1);
复制代码
ucfirst
函数,将句子首字母转换为大写,ucwords
函数将每个单词的首字母转换为大写。
string ucfirst(string $str) 和 string ucwords(string $str)
复制代码
字符串的替换函数
str_replace
函数区分大小写,str_ireplace
函数不区分大小写。
str_replace('a','b',$str); // a 换 b ,是注意大小写的。
复制代码
htmlspecialchars
函数,预定义的字符串转换为html实体。
string htmlspecialchars(string $str [,int $flags = ENT_COMPAT)
复制代码
Itrim
函数,用于实现删除字符串开始位置的空格或其他字符,用于删除开始的空格,后面不管。
rtrim
函数用于实现删除字符串结束位置的空格,或者是其他字符。
string rtrim(string $str[,string $charlist])
复制代码
trim
函数用于实现删除字符串开始和结束的位置删除空格。
获取字符串位置相关函数
strpos
函数,返回一个字符在另一个字符第一次出现的位置
stripos
函数,同理,但是忽略大小写的
strrpos
函数,返回的是一个字符串在另一个字符串最后一次出现的位置,strripos
函数忽略大小写
字符串截取函数
substr
函数,用于实现截取字符串
string substr(string $string, int $start [, int $length])
复制代码
$str = 'javascript';
echo substr($str, 0, 4);
复制代码
'content-type:text/html;charset=utf-8');
$filename = 'ab.sd.jpEg';
$num = strrpos($filename, '.');
echo strtolower(substr($filename,$num+1));
?>
// jpEg
复制代码
strstr
函数,将返回一个字符串在另一个字符串中第一次出现的位置,区分大小写。同理,stristr
函数忽略大小写。
strrchr
函数,将返回一个字符串在另一个字符串最后一次出现的位置。
strrev
函数,用于反转字符串。
md5();函数加密。
分割字符串
explode
函数,使用一个字符串分割另一个字符串。
$str = "a|b|c";
$arr = explode("|", $str);
复制代码
implode
函数,用于将一个一维数组的值转化为字符串。
$arr = array('a','b','c');
$str = implode(',', $arr);
复制代码
格式化字符串:
sprintf
函数,格式化字符串。
数学函数
求平方根sqrt
float sqrt(float $arg)
复制代码
最大最小值:max
函数,min
函数
随机数:rand
函数,mt_rand
函数。
四舍五入函数,round
函数用于实现四舍五入
数字格式化:number_format
函数
格式化日期:
time
函数,返回当前Unix时间戳 字符串转时间戳strtotime
函数。
生成唯一id
,uniqid
函数。
获取日期:
getdate
函数,获取日期
定义数组:
array()
[]
range()
compact()
define()
复制代码
"utf-8">
$_FILES);
?>
复制代码
"en">
"UTF-8">
"viewport" content="width=device-width, initial-scale=1.0">
"X-UA-Compatible" content="ie=edge">
注册页面
复制代码
数组的遍历:
通过foreach
遍历,通过数组的指针函数遍历数组,通过each
和list()
遍历数组。
foreach
语法结构提供了遍历数组的简单方式。foreach
应用于数组和对象。
key($arr)
得到当前指针所咋位置的键名 current($arr)
得到当前指针所在位置的键值
next()
将数组中的内部指针向前移动一位,向下移动 prev()
向上移动
each
返回数组中当前的键/值对并将数组指针向前移动一步
什么是cookie?cookie有什么用?与cookie相关函数。
array_multisort
对多个数组或多维数组进行排序 array_pad
用值将数组填补到指定长度 array_pop
将数组最后一个单元弹出 array_product
计算数组中所有值的乘积 array_push
将一个多多个单元压入数组的末尾 array_rand
从数组中随机取出一个或多个单元 array_reduce
用回调函数迭代地将数组简化为单一的值 array_reverse
返回一个单元顺序相反的数组 array_search
在数组中搜索给定的值
$username=$_POST['username'];
$password=$_POST['password'];
$email=$_POST['email'];
$userInfo=compact('username','password','email');
print_r($userInfo);
/*
Array
(
[username] =>
[password] =>
[email] => @qq.com
)
array_keys():
array_values():
*/
//INSERT user(username,password,email) VALUES('aaa','bbb','ccc');
$keys=join(',',array_keys($userInfo));
$vals="'".join("','",array_values($userInfo))."'";
// print_r($keys);
// print_r($vals);
$sql="INSERT user({$keys}) VALUES({$vals})";
echo $sql;
复制代码
什么是session?为啥使用session?session的工作原理,与session相关的函数,php配置中的session片段。
session
会话控制
php
操作mysql
mysql
非永久连接,性能比较低 mysqli
永久连接,减轻服务器压力 pdo
能实现mysqli
的常用功能
mysql
连接数据库
连接数据库
mysql_connect($server, $username, $password)
复制代码
选择数据库
mysql_select_db($database_name)
复制代码
设置字符串
mysql_set_charset($charset)
复制代码
mysql
方法执行sql
语句
mysql_query($query)
对insert
,update
,drop
之类的操作,执行成功为true
,否则为false
。
数据库:
create table addbasicsituation (
BId int(100) not null auto_increment,
primary key(BId)
) engine=InnoDB default charset = utf8
复制代码
$sql = "CREATE TABLE `addappearanceparameter` (
`FId` int(100) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(`FId`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8";
mysql_query($sql);
$sql1 = "ALTER TABLE `addappearanceparameter` ADD `{$row['FName']}` VARCHAR( 100 ) NOT NULL DEFAULT '无'";
mysql_query($sql1);
复制代码
CREATE TABLE `addcellparameters` (
`XId` int(100) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`XId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
复制代码
PHP mysql_fetch_array()
函数
mysql_assoc
mysql_num
mysql_both
复制代码
$sql = "select * from person where name='add'";
$result = mysql_query($sql,$con);
print_r(mysql_fetch_array($result));
复制代码
PHP mysql_fetch_row()
函数,函数从结果集中取得一行作为数字数组。
PHP mysql_fetch_assoc()
函数
session
的工作原理
第一次访问,进行http
请求,进行初始化session
,创建sessionID
,将session
数据存储到预定义变量$_SESSION
中,页面执行完毕,将session
信息存储到文件,另一条,将http
响应,带有sessionID
显示页面sessionID
存储到cookie
。
进行第二次访问,http
请求,带有sessionID
,进行session
初始化,根据sessionID
读取文件(session
文件),进行执行php
代码,页面执行完毕将session
信息存储到session
文件,另一个http
响应,带有sessionID
显示页面,进行退出。
注解session
和删除session
文件。
setcookie
函数,设置cookie
文件操作
文件目录函数库:文件信息相关,文件操作相关,内容操作相关。
目录,资源类型 预定义变量
directory - directory类
directory::close 释放目录句柄
directory::read 从目录句柄中读取条目
directory::rewind 倒回目录句柄
复制代码
chdir — 改变目录
chroot — 改变根目录
closedir — 关闭目录句柄
dir — 返回一个 Directory 类实例
getcwd — 取得当前工作目录
opendir — 打开目录句柄
readdir — 从目录句柄中读取条目
rewinddir — 倒回目录句柄
scandir — 列出指定路径中的文件和目录
复制代码
文件信息
Fileinfo 函数finfo_buffer — 返回一个字符串缓冲区的信息
finfo_close — 关闭 fileinfo 资源
finfo_file — 返回一个文件的信息
finfo_open — 创建一个 fileinfo 资源
finfo_set_flags — 设置 libmagic 配置选项
mime_content_type — 检测文件的 MIME 类型
finfo — finfo 类finfo::buffer — 别名 finfo_buffer()
finfo::__construct — 别名 finfo_open
finfo::file — 别名 finfo_file()
finfo::set_flags — 别名 finfo_set_flags()
复制代码
文件系统
basename — 返回路径中的文件名部分
chgrp — 改变文件所属的组
chmod — 改变文件模式
chown — 改变文件的所有者
clearstatcache — 清除文件状态缓存
copy — 拷贝文件
delete — 参见 unlink 或 unset
dirname — 返回路径中的目录部分
disk_free_space — 返回目录中的可用空间
disk_total_space — 返回一个目录的磁盘总大小
diskfreespace — disk_free_space 的别名
fclose — 关闭一个已打开的文件指针
feof — 测试文件指针是否到了文件结束的位置
fflush — 将缓冲内容输出到文件
fgetc — 从文件指针中读取字符
fgetcsv — 从文件指针中读入一行并解析 CSV 字段
fgets — 从文件指针中读取一行
fgetss — 从文件指针中读取一行并过滤掉 HTML 标记
file_exists — 检查文件或目录是否存在
file_get_contents — 将整个文件读入一个字符串
file_put_contents — 将一个字符串写入文件
file — 把整个文件读入一个数组中
fileatime — 取得文件的上次访问时间
filectime — 取得文件的 inode 修改时间
filegroup — 取得文件的组
fileinode — 取得文件的 inode
filemtime — 取得文件修改时间
fileowner — 取得文件的所有者
fileperms — 取得文件的权限
filesize — 取得文件大小
filetype — 取得文件类型
flock — 轻便的咨询文件锁定
fnmatch — 用模式匹配文件名
fopen — 打开文件或者 URL
fpassthru — 输出文件指针处的所有剩余数据
fputcsv — 将行格式化为 CSV 并写入文件指针
fputs — fwrite 的别名
fread — 读取文件(可安全用于二进制文件)
fscanf — 从文件中格式化输入
fseek — 在文件指针中定位
fstat — 通过已打开的文件指针取得文件信息
ftell — 返回文件指针读/写的位置
ftruncate — 将文件截断到给定的长度
fwrite — 写入文件(可安全用于二进制文件)
glob — 寻找与模式匹配的文件路径
is_dir — 判断给定文件名是否是一个目录
is_executable — 判断给定文件名是否可执行
is_file — 判断给定文件名是否为一个正常的文件
is_link — 判断给定文件名是否为一个符号连接
is_readable — 判断给定文件名是否可读
is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的
is_writable — 判断给定的文件名是否可写
is_writeable — is_writable 的别名
lchgrp — 修改符号链接的所有组
lchown — 修改符号链接的所有者
link — 建立一个硬连接
linkinfo — 获取一个连接的信息
lstat — 给出一个文件或符号连接的信息
mkdir — 新建目录
move_uploaded_file — 将上传的文件移动到新位置
parse_ini_file — 解析一个配置文件
parse_ini_string — 解析配置字符串
pathinfo — 返回文件路径的信息
pclose — 关闭进程文件指针
popen — 打开进程文件指针
readfile — 输出文件
readlink — 返回符号连接指向的目标
realpath_cache_get — 获取真实目录缓存的详情
realpath_cache_size — 获取真实路径缓冲区的大小
realpath — 返回规范化的绝对路径名
rename — 重命名一个文件或目录
rewind — 倒回文件指针的位置
rmdir — 删除目录
set_file_buffer — stream_set_write_buffer 的别名
stat — 给出文件的信息
symlink — 建立符号连接
tempnam — 建立一个具有唯一文件名的文件
tmpfile — 建立一个临时文件
touch — 设定文件的访问和修改时间
umask — 改变当前的 umask
unlink — 删除文件
复制代码
文件上传
"en">
"UTF-8">
"viewport" content="width=device-width, initial-scale=1.0">
"X-UA-Compatible" content="ie=edge">
Document
文件上传
"常用操作"
复制代码
'file.func.php';
$fileInfo=$_FILES['myFile'];
var_dump(upload_file($fileInfo));
复制代码
'file.func.php';
$filename=$_GET['filename'];
down_file1($filename);
复制代码
结言
好了,欢迎在留言区留言,与大家分享你的经验和心得。
感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。
作者简介
达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文章,会上瘾!,帮你成为更好的自己。长按下方二维码可关注,欢迎分享,置顶尤佳。