PHP 基础知识总结:
PHP 代表 PHP: Hypertext Preprocessor
PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
PHP 文件的默认文件扩展名是 “.php”
PHP能做什么?
-
PHP 可以生成动态页面内容
-
PHP 可以创建、打开、读取、写入、关闭服务器上的文件
-
PHP 可以收集表单数据
-
PHP 可以发送和接收 cookies
-
PHP 可以添加、删除、修改您的数据库中的数据
-
PHP 可以限制用户访问您的网站上的一些页面
-
PHP 可以加密数据
PHP 脚本可以放在文档中的任何位置;
PHP 脚本以 <?php 开始,以 ?> 结束;
变量以 $ 符号开始,后面跟着变量的名称;
PHP 有四种不同的变量作用域:
- *local*
- *global*
- *static*
- *parameter*
PHP echo 和 print 语句
- echo - 可以输出一个或多个字符串
- print - 只允许输出一个字符串,返回值总为 1
echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
PHP5数据类型
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)
PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。
- $_globals 引用全局作用域中可用的全部变量。
- $_server 一个包含了诸如头信息(header)、路径(path)、以及脚本位置(srcipt location)等信息的数组。
- R e q u e s t H T T P R e q u e s t 变 量 , 默 认 情 况 下 包 含 了 _Request HTTP Request变量,默认情况下包含了 RequestHTTPRequest变量,默认情况下包含了_get, p o s t 和 _post和 post和_cookie的数组。
- $_post HTTP POST变量,会将变量以关联数组形式传入当前脚本
- $_get HTTP GET变量,通过 URL 参数传递给当前脚本的变量的数组。
- $_cookie HTTP Cookies,通过HTTP Cookies方式传递给当前脚本的变量的数组。
- $_files HTTP文件上传变量,通过HTTP POST方式上传到当前脚本的项目的数组。
- $_env 环境变量,通过环境方式传递给当前脚本的变量的数组。
- $_session Session 变量,当前脚本可用session变量的数组。
html 代码嵌套php 注意后缀必须是.php
在 PHP 中,有三种类型的数组:
- 数值数组 - 带有数字 ID 键的数组
- 关联数组 - 带有指定的键的数组,每个键关联一个值
- 多维数组 - 包含一个或多个数组的数组
r 只读模式,打开问价N,从文件头开始读
r+ 读写模式,打开文件,从文件头开始读写
w 只写模式,打开文件,从文件头开始写,如果文件已存在,则覆盖文件原内容,如果文件不存在,则创建文件。
w+ 读写模式,打开文件,从文件头开始读写,,如果文件已存在,则覆盖文件原内容,如果文件不存在,则创建文件。
a 追加模式,打开文件,如果文件已有内容,从文件后面追加写,如果文件不存在,则创建文件。
a+ 读和追加模式,打开文件,如果文件已有内容,从文件后面读或追加写,如果文件不存在,则创建文件
其他读写:
fgetc($fp):每次读取一个字符,需要先使用fopen()
fread($fp,length):读取指定长度的字节,返回一个字符串。
其他文件函数:
file_exists(filename):检查文件是否存在,返回true或false
filesize(filename):返回文件字节大小,可以结合fread()使用
unlink(filename):删除一个文件,失败返回false
rewind($fp):复位到文件开始位置,需要使用fopen()函数
fseek($fp):将文件指针指向某个位置,需要使用fopen()函数
ftell($fp):获取文件指针当前位置,需要使用fopen()函数
fiock():文件锁定设置,需要使用fopen()函数
表单传值的两种方法:
使用post方法提交表单
应用post方法时,只需要将表单中的属性method设置成post即可。post方法不依赖于url,不会显示在地址栏。post方法可以没有限制地传递数据到服务器,所有提交的信息在后台传输,在浏览器是不会看到这个过程的,安全性高。所以post方法比较适用于发送一个保密的数据信息。
使用get方法提交表单
get方法时from表单中method属性的默认方法。使用get方法提交的表达表单数据附加到url后,并作为url的一部分发送到服务端。在程序的开发过程中,由于get方法提交的数据是附加到url发送的,因此,在uel的地址栏中将会显示“url+ 用户传递的参数”。
文件包含:在一个php脚本中,去将另外一个文件(php)包含进来,去合作完成一件事情
文件包含的作用:1.使用被包含文件中的内容,实现代码的共享:向上包含(索要)
2.自己脚本的内容可以给别的文件使用,实现代码的共享:向下包含(给予)
向下包含:在自己有某个东西的时候,需要别的脚本来显示(自己代码写完之后包含其他文件)
文件包含的四种类型:
include:包含文件
include_once:系统会自动判断文件包含过程中,是否已经包含过(一个文件最多被包含一次)
require:与include相同
require_once:以include_once相同
面向对象的优点:
1.多人合作方便
2.减少代码冗余,灵活性高
3.代码的可重用性发挥到极致
4.可扩展性强
类是一件事物的抽象(比如汽车)
对象是具体到某个类(比如某某家的汽车)
类总结:
1.通过class关键字+类名+{}创建类
2.类是一种结构,不会自动运行,也不能输出
3.通过new类名实例化得到类的具体形象
4.可以通过new实例化无限对象
面向对象的三大特点:封装、 继承、多态(多态分两种:方法重写和方法重载)
x and y | 与 | 如果 x 和 y 都为 true,则返回 true | x=6 y=3 (x < 10 and y > 1) 返回 true |
---|---|---|---|
x or y | 或 | 如果 x 和 y 至少有一个为 true,则返回 true | x=6 y=3 (x6 or y5) 返回 true |
x xor y | 异或 | 如果 x 和 y 有且仅有一个为 true,则返回 true | x=6 y=3 (x6 xor y3) 返回 false |
x && y | 与 | 如果 x 和 y 都为 true,则返回 true | x=6 y=3 (x < 10 && y > 1) 返回 true |
x || y | 或 | 如果 x 和 y 至少有一个为 true,则返回 true | x=6 y=3 (x5 || y5) 返回 false |
! x | 非 | 如果 x 不为 true,则返回 true | x=6 y=3 !(x==y) 返回 true |
php mysql操作链接
两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。
使用面向过程、面向对象、pdo三种创建数据库
mysqli_affected_rows() 返回前一次 MySQL 操作所影响的记录行数。
mysqli_close() 关闭先前打开的数据库连接。
mysqli_connect_errno() 返回上一次连接错误的错误代码。
mysqli_connect_error() 返回上一次连接错误的错误描述。
mysqli_connect() 打开一个到 MySQL 服务器的新的连接。
mysqli_fetch_all() 从结果集中取得所有行作为关联数组,或数字数组,或二者兼有。
mysqli_fetch_array() 从结果集中取得一行作为关联数组,或数字数组,或二者兼有。
mysqli_fetch_assoc() 从结果集中取得一行作为关联数组。
实例 (MySQLi - 面向对象):
$conn->close();
实例 (MySQLi - 面向过程):
mysqli_close($conn);
实例 (PDO):
$conn = null;
mysqli_connect:打开一个到mysql服务器新的连接
语法:mysql_connect(host,username,password,dbname,port);
host: 域名或者IP地址
username: Mysql用户名
password:mysql用户密码
dbname:规定默认使用的数据库
port:mysql端口
mysqli_connect_error():获取连接数据库的错误信息
mysqli_connect_errno():获取连接数据库的错误编码
mysql_set_charset(连接对象,字符编码)