变量的作用域
局部变量
在函数内部定义,只作用于函数内部
全局变量
在函数外部定义,作用于当前整个脚本,在函数内部使用需要使用 global 关键字声明
超全局变量
$_GET $_POST $_FILES $_SERVER $_COOKIE $_SESSION
正则表达式
元字符 | 说明 |
---|---|
a-z | 英文小写字母 |
A-Z | 英文大写字母 |
0-9 | 数字 |
\d | 数字,相当于0-9 |
\D | 取反\d |
\w | 字母数字下划线 |
\W | 取反\w |
\s | 空白字符 |
\S | 非空白字符 |
\d | 数字,相当于0-9 |
文件操作
目录操作
mkdir(完整路径目录):创建一个目录
rmdir(完整路径目录):删除一个目录
opendir(完整路径目录):打开目录
readdir(资源):读取目录
is_dir(完整路径目录):判断是否为一个有效目录
scandir(完整路径目录):扫描目录,返回文件数组
文件操作
filesize(完整路径文件名):取得一个文件的大小(字节)。
fopen(完整路径文件名 , 参数):打开文件(参数:r只读 w写入 x 创建写入)。
fread(资源,长度):读取文件 长度:字节。
fwrite(资源,内容):写入的内容。
fclose(资源):关闭文件(资源),释放内存。
filegetcontents(完整路径文件名):将整个文件读入一个字符串,相当于fopen、fread、fclose组合动作。
fileputcontents(完整路径文件名,要写入的数据,[FILE_APPEND]):将字符串写入文件,相当于fopen、
fwrite、fclose组合动作FILE_APPEND:追加写入。
copy(源文件 , 目标文件):拷贝文件(如果目标文件已存在,将会被覆盖)。
unlink(完整路径文件名):删除文件
PHP和web页面交互
数据交互
Web 表单提交数据有两种方式:GET方法和 POST 方法
会话控制
cookie
cookie是在服务器端创建,并写回到客户端浏览器。
cookie内容的存储是“键/值”对的方式,键和值都只能是字符串。
cookie一般用于记录用户的信息。
cookie不允许跨域访问。
cookie大小限制在4K以内。
语法如下:
// 设置cookie
setcookie(key, value, 有效期);
// 获取cookie
var_dump($_COOKIE);
代码示例:
session
session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。
session 与 cookie相似,只是原来将信息存在客户端,现在保存到服务端,一般存在文件系统中
语法如下:
// 开启session // 注意:session_start()函数之前不能有任何输出。
session_start();
// 存储数据
$_SESSION['键名'] = 值;
// 获取session信息
$_SESSION['键名'];
// 销毁session中的信息
unset($_SESSION['键名']); // unset() 函数用于释放指定的session变量
代码示例:
cookie和session的区别
1、存放位置:前者存放在客户端,后者存放在服务器端;
2、安全性:前者不够安全,后者安全;
3、资源占用:前者存放在客户端,不占服务器资源,后者占服务器资源;
4、文件大小:前者4k,后者不限制
面向对象
面向对象就是OOP,面向对象:是宏观调控的意思,不需要一步一步自己完成整个功能,把功能封装,让指定的对象去完成单独的功能,再去调用和指挥对象就可以。
面向对象的三大特征:封装、继承和多态
类的定义
class 帕斯卡命名法{
修饰符 成员属性//相当于我们前面学的变量
修饰符 构造方法//主要是初识化数据用的
修饰符 成员方法//就是学的函数 叫成员方法
}
修饰符都有三种:
1、 public 公共的
2、 protected 受保护的
3、 private 私有的
魔术方法
__construct()
这是构造方法,主要是初识化数据用的,只要new对象的时候会自动调用构造方法
__destruct()
是析构函数,是在程序运行完毕对象销毁的时候才自动调用的,一般像比如关闭数据库连接mysqli_close($con)这个方法我们如果把连接数据库的方法封装成对象的话,这个关闭数据库的连接会封装在析构函数中,在对象销毁的时候会自动调用析构函数