一、文件编程
1、往文件中写入内容
file_put_contents(‘01.txt’,’我是写入的内容’);
或者
$fp=fopen(‘01.txt’,’w’);//打开文件,第二个参数是模式,w是头部写入,a是尾部追加
fputs($fp,’我是写入的内容’);//文件中写入内容
fclose($fp);//关闭文件流
2、读取文件中的内容
echo file_get_contents("01.txt");//读取01.txt中的内容
3、判断文件是否存在
file_exists('01.txt');
4、判断是不是文件
is_file('./01.txt')
5、判断是不是目录
is_dir('aa'); 注意小括号中必须是文件夹也就是目录
6、打开目录
opendir('aa'); 注意小括号中必须是文件夹也就是目录
7、读取目录中的内容
readdir('aa'); 注意小括号中必须是文件夹也就是目录
8、删除目录
rmdir('aa'); 注意小括号中必须是文件夹也就是目录
9、创建目录
mkdir('aa'); 注意小括号中必须是文件夹也就是目录
如果是创建递归目录
mkdir('aa/bb',0777,true); 注意小括号中必须是文件夹也就是目录 true代表递归创建
10、删除文件
unlink(完整路径文件名):删除文件。
11、拷贝文件
copy(源文件 , 目标文件):拷贝文件(如果目标文件已存在,将会被覆盖)。
二、正则表达式
元字符主要有下面几种:
1、\d 代表0-9之间的任意一个数字
*2、\w代表0-9之间的任意数字或者字母 3、表示这个字符出现0次或者多次
4、+表示这个前面修饰的字符出现1次或者多次
5、?表示这个前面修饰的字符出现0次或者1次
6、{m}代表这个前面修饰的字符固定出现m次
7、{m,}代表这个前面修饰的字符少出现m次,多者不限
8、{n,m}代表这个前面修饰的字符少出现n次,多是出现m次
9、[xyz]代表这个前面修饰的字符可以xyz中的任意一个
10、^代表以什么开头,$代表以什么结束
11、[a-z]表示的a到z的任意一个字符,[0-9]代表是0到9之间的任意一个数字,和\d是一个含义
*12、[]号里面如果写^代表是非的意思*
13、x|y代表x或者y
14、正则中()表示分组
15、.表示转义 因为点号在正则中代表任意字符
三、函数
函数是用来完成某种特定任务的可重复使用的代码块;
函数可以使程序更具模块化,拥有良好的结构;
函数定义后再程序中可以重复调用;
函数分为内置函数和自定义函数。
1.函数的定义
function 函数名称(形参列表){
函数体;
}
2.变量的划分
JS 中 变量分两类:局部变量 和 全局变量。
PHP 中 变量分三类:局部变量、全局变量、超全局变量
2.1局部变量
在函数内部声明的变量,就是局部变量,当函数执行完毕,局部变量就消失了。局部变量,只能在函数内部使用。
// 定义函数abc
function abc() {
// 在函数内部声明变量:局部变量
$a = 100;
}
2.2全局变量
在函数外部声明的变量,就是全局变量。在 PHP 中,全局变量,在函数中不能使用,网页执行完毕,全局变量消失。
// 在函数外部声明的变量:全局变量
$b = 200;
// 定义函数abc
function abc() {
// 在函数内部声明变量:局部变量
$a = 100;
}
2.3超全局变量(也叫超全局数组变量)
是系统定义的变量,就是超全局变量。该变量可以在任何地方直接使用。
超全局变量 | 描述 |
---|---|
$_GET | 主要用来获取 HTTP GET方式传递的数据。 |
$_POST | 主要用来获取 HTTP POST方式传递的数据。 |
$_REQUEST | 主要用来获取 GET 和 POST 方式传递的数据,但是速度相对较慢。 |
$_SERVER | 主要用来获取服务器执行环境的相关信息。 |
$GLOBALS | 主要包含GET、GET、_POST、$_COOKIE 数组的内容。 |
$_SESSION | 主要获取服务器端的会话信息。 |
$_COOKIE | 主要获取客户端的会话信息。 |
$_FILES | 主要获取上传文件的相关信息。 |
$ENV | 获取环境信息。(不常用) |
面向对象
定义类和实例化对象
// 使用class关键字定义一个类,类名的首字母要求大写
class School{
// 成员属性
// 成员方法
}
// 使用new运算符,实例化一个类的对象
$zh = new School();
// 使用instanceof判断$hxsd是否是School的实例
$bool=$zh instanceof School;
var_dump($bool);
访问修饰符
访问修饰符:public、protected和private。
public 表示全局,类内部外部子类都可以访问;
private 表示私有的,只有本类内部可以使用;
protected 表示受保护的,只有本类或子类或父类中可以访问。
public: 公有类型
在子类中可以通过 self::属性名(或方法名) 调用public方法或属性,parent::方法名 调用父类方法
在实例中可以能过 $obj->属性名(或方法名) 来调用 public类型的方法或属性。
protected: 受保护类型
在子类中可以通过 self::属性名(或方法名) 调用protected方法或属性,parent::属性名(或方法名) 调用父类
方法。
在实例中不能通过 $obj->属性名(或方法名) 来调用protected类型的方法或属性。
private: 私有类型
该类型的属性或方法只能在该类中使用
在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法
额外修饰符
static:静态。可以不new实例,直接通过 类::方法 类::属性的方式调用。
final:最终。修饰的类不能被继承,修饰的方法不能被重写。
abstract:抽象。定义抽象类。
代码示例:
class School{
// 成员属性 -----------------------
public $students=100; // 公共 学生人数
public $name; // 公共 学校名称 未命名
protected $teach=100; // 受保护的 技术资料
private $money=100000; // 私有 资金
// 类常量 -------------------------
const ADDRESS="成都高新区100号";
// 成员方法 ------------------------
// 构造方法
function __construct($shool_name){
$this -> students = 1500; // ->:用来引用对象的成员(属性与方法)
$this -> name = $shool_name;
}
// 自定义方法
public function introduce(){
echo "学校简介:名称:".$this -> name.",本校有".$this -> students."名学生,本校有 教师".$this -> staff."人,地址:".self::ADDRESS."<br>"; // 双冒号作用域限 定操作 符可以访问静态、
const和类中重写的属性与方法
}
}
//--------------------------------------------------------------------------------
// 使用 new 运算符,实例化一个类的对象
$school = new School("四川大学","1500");
// 使用 var_dump 可以直接查看对象属性
var_dump($school);
// 使用get_class_methods(),可以查看类中定义的方法 var_dump(get_class_methods($school)); // 修改对 象属性 $school -> students = 2000; $school -> staff = 50; print_r($school); // 类常量可以直接访问 var_dump(School::ADDRESS); var_dump($school::ADDRESS);
```
注意:
1)类中只能包含成员属性、成员方法、类常量;
2)类中成员属性和成员方法的位置可以互换,建议成员属性在前,成员方法在后。
ethods(),可以查看类中定义的方法 var_dump(get_class_methods($school)); // 修改对 象属性 $school -> students = 2000; $school -> staff = 50; print_r($school); // 类常量可以直接访问 var_dump(School::ADDRESS); var_dump($school::ADDRESS);
```
注意:
1)类中只能包含成员属性、成员方法、类常量;
2)类中成员属性和成员方法的位置可以互换,建议成员属性在前,成员方法在后。