#查询网站:php.net
#写作格式:
<?php?>
<??>
<script language="php"> </script>
<%%>
相当于C中的
main()
#输出:
echo:单纯的打印
print:打印成功返回ture,否则返回flase
print_r:可以打印数组
var_dump:对打印的数据显示出类型
#命名规则
变量以$开头
变量开头必须是字母或下划线
变量名称只能由字母数字和下滑线组成
大小写敏感
#赋值
不用声明变量类型直接赋值,根据所附的值给予变量类型,与python相同。
传址:$a = 10; KaTeX parse error: Expected 'EOF', got '&' at position 5: b = &̲a; echo $b;
结果:10
#常量命名规则
只能通过define()定义,不能通过赋值语句
常量是全局变量
常量一旦定义就不能重新定义或取消
常量只能是标量 字符串 整型 浮点型 布尔型
#魔术变量
(1). FILE 当前文件路径
(2). DIR 当前文件目录
(3). LINE 在文件文件的那一行
(4). FUNCTION 在当前文件的那个函数中 返回 函数名
(5). CLASS 在当前文件中的那个类中 返回 类名
(6). METHOD 在当前文件的类中的那个方法中 返回 类名::方法名
#数据类型
string(字符串)
int(整形)
bool(布尔型)
float(浮点型)
array(数组)
object(对象)
null(空值)
#单双引号
双引号会解析内部变量
单引号不会解析
所以单引号效率更高
#运算符
算数运算符:
+
-
*
/
%
++
--
字符串运算符:
. 串接
.= 串接赋值
赋值运算符:
=
+=
-=
*=
/=
%=
位运算符:
& 位与
| 位或
~ 位非
^ 位异或
<< 位左移
>> 位右移
比较运算符:
== 等于
=== 完全等于
!=
<> 不等于
!==
>
<
>=
<=
逻辑运算符:
and
or
xor 异或 有且仅有一个true,则返回true
&&
||
!
三目运算符:
(expr1)?(expr2):(expr3)
当expr1为真,执行expr2,否则执行expr3
实际就是if……else的简化版
#流程控制语句
if
if……else
if……elseif……else
switch
#循环语句
while
do……while
for
break/continue break n:表示跳出几层循环
#系统函数与自定义函数
PHP拥有超过1000个内建的函数(而python有很多的库)
自定义函数,不调用就永远不会执行
自定义函数格式:
function 函数名 (形参,……) {}
形参可以定义默认值
#PHP数组
数组中每个元素由一个特殊的标识符来区分,称之为减(key),而每个键对应一个值(value)
简单形式:
a
r
r
=
a
r
r
a
y
(
v
a
l
u
e
1
,
v
a
l
u
e
2
,
…
…
)
完
整
形
式
:
arr = array(value1,value2,……) 完整形式:
arr=array(value1,value2,……)完整形式:arr = array(key1 => value1,key2 => value2,……)
**添加:** $arr[key] = value;
**修改:** $arr[key] = value;
**删除:** unset($arr[key]) = value;
遍历:
有键名
foreach($arr as $key => $value) {}
无键名
foreach($arr as $value) {}
###二维数组
$arr = array(key1 => array(key3 => value1),key2 => array(key4 => value2),……)
####数组函数
count($arr):统计数组条数
is_array($arr):判断是否是数组,也可以判断别的,比如is_int($a)是判断是否是整形
explode("key",value):创建数组的函数
#表单操作
使用$_GET 和 $_POST 接受表单数据
###PHP对表单数据验证
函数 | 功能 |
---|---|
isset() | 来验证接收的表单数据是否定义 |
htmlspecialchars() | 将HTML特殊字符进行过滤 |
trim() | 去除数据的前后空格 |
strlen() | 判断数据的长度 |
is_numeric() | 数据是否是纯数字 |
###header函数
用于设置页面字符编码
header(‘Content-Type:text/html;charst=UTF-8’);
用于重新导向指定的URL
header(‘Location:http://www.baidu.com’);
#时间函数
首先定义时区
date_default_timezone_set(“Asia/Shanghai”);
time() //返回当前时间的时间戳
date() //返回更易读的时间和时间
#cookie操作
创建cookie:
setcookie(name,value,expire,path,domain);
查询cookie:
$_COOKIE['name']
修改和判断cookie:
isset();
删除cookie:
setcookie("name")
setcookie("name","value",time()-1)
#session操作
开启:
session_start()
创建:
$_SESSION['name']='value'
取值:
echo $_SESSION['name'];
删除:
unset($_SESSION['name'])
session_destory(); //清空所有session
#数据库操作
连接数据库:
mysqli_connect(‘servername’,‘username’,‘password’);
servername 数据库连接地址
username 数据库账户名
password 数据库密码
连接成功返回为对象类型,失败为布尔类型FALSE
查看数据库连接错误原因
mysqli_connect_error(link)
link 为mysqli_connect数据库返回的连接
返回结果:如果连接成功返回0如果出现错误返回错误原因
选择数据库:
mysqli_select_db(link,database)
link:数据库连接成功返回的连接
database:数据库
返回值:布尔类型,连接成功返回true,反之失败
关闭数据库连接:
mysqli_close(link);
link:数据库连接成功返回的连接
增、删、查、改
mysqli_query(link,sql)
link:数据库连接成功返回的连接
sql;SQL语句
返回值:连接成功返回对象,失败返回FALSE
查询增、删、查、改错误原因:
mysqli_error(link)
link:数据库连接成功返回的连接
返回值:返回最近操作失败的错误信息
增、删、查、改返回数据
mysqli_fetch_array(result,[result_type])
result:mysqli_query返回的结果集
result_type:MYSQL_ASSOC,MYSQL_NUM,MYSQL_BOTH,默认为MYSQL_BOTH,返回关联数组和数字数组
返回值:从结果集中取得一行作为关联数组,或数字数组,或二者兼有
#文件操作
fopen(filename,mode) //打开或创建要给文件
mode | 描述 |
---|---|
r | 只读方式打开,将文件指针指向文件头 |
r+ | 读写方式打开,将文件指针指向文件头 |
w | 写入方式,将文件指针指向文件头,清除内容,文件不存在则尝试创建 |
w+ | 读写方式,将文件指针指向文件头,清除内容,文件不存在则尝试创建 |
a | 写入方式,将文件指针指向文件尾。文件不存在则尝试创建 |
a+ | 读写方式,将文件指针指向文件尾。文件不存在则尝试创建 |
函数 | 描述 |
---|---|
fwirte(资源,内容) | 写入文件内容 |
fgets(资源,长度) | 获取文件内容,每次读取一行fgetss过滤html |
fclose(资源) | 关闭一个打开的文件资源 |
unlink(文件) | 删除一个文件 |
函数 | 描述 |
---|---|
file_get_contents() | 把整个文件读入一个字符串中 |
file_put_contents() | 把一个字符串写入文件中 |
file() | 把整个文件读入一个数组中 |
file_exists() | 文件是否存在 |
is_dir() | 是否存在或是文件夹 |
is_file() | 是否是文件 |
scandir() | 遍历文件夹/返回一个数组 |
filetype() | 可以输出相关文件类型 |
#HTML+PHP 文件上传
###html表单
<form method="POST" action="do_upload.php" enctype="multipart/form-data">
<h4>文件上传</h4>
<input name="File_upload" type="file"/>
<input type="submit" name="submit" value="上传"/>
</form>
//form标签的 enctype 是必须写的固定写法。
####php
echo $_FILES['File_upload']['name']; //文件原名称
echo $_FILES['File_upload']['type']; //文件的MIME类型
echo $_FILES['File_upload']['size']; //文件大小,单位字节
echo $_FILES['File_upload']['tmp_name']; //存储的临时文件名,一般是系统默认
echo $_FILES['File_upload']['error']; //文件上传相关的错误代码
if(is_uploaded_file($_FILES['File_upload']['tmp_name']))
//判断文件是否通过 HTTP POST 上传
{
move_uploaded_file($_FILES['File_upload']['tmp_name'],"uploads/1.txt");
//移动到当前目录下名称uploads的子目录下,并把文件名保存为:1.txt.
}