服务端开发基础:
1.网页开发技术(硬性)
(1)HTML-------相当于网页结构的大框架
(2)CSS-------相当于对页面框架进行修饰装饰
(3)JavaScript—编程语言,简称:JS。(人与计算机进行交流,并且对计算机下达指令)
(4)web API-----实现网页交互(界面功能)。
(5)jQuery—提供便捷的书写代码方式,
2.编程能力:
面向与对象的思想,万物皆可当作对象来看待。
命令行提示符:添加一个服务器 安装。
切换到服务器文件所在的那个文件路径。
注:我是放在f盘中的,具体路径以Apache存放路径为主。
f: F:\Apache\httpd-2.4.38-win64-VC15\Apache24\bin
命令提示符=服务器关键代码
然后在输入 httpd -k install -n “服务器名字name”
install 是安装服务器的意思。
输入 httpd -k start -n “name” 是启动服务器的意思。
输入 netstat -an 查询被监管的端口。
如果网络设备 没有连接任何网络,我们会有个本地回环地址 127.0.0.1
hosts 文件在 c盘的 windows/system32/dires/etc / hosts。必须以管理员权限才能访问。 只能更改本地访问的地址。
http还有一些服务器的端口 都是80端口。
443端口是给 https使用的
字符串分割:array explode( string $input, string $char )
删除字符串中的字符:substr(“str”,字符的索引)。
查询字符串有没有那个字符:strpos(字符串,“字符”)
API是一个应用程序编程的接口。任何的编程语言没有特殊的能力。提供特殊的能力的是API .
strlen(“str”) 只能获取 拉丁文字母的长度。在PHP中中文字符属于宽字符,一般用另外一种方式获取长度。
mb_strlen(“中文”)。获取中文的长度。
isset()函数可以判断括号里面的变量或者属性,是否存在存在是 true。不存在是false。
empty()判断有没有定义这个属性 ,还会额外判断这个值是不是为空。与isset的结果是相反的。不存在 是 true。存在是false。
php当中时间的函数,最小单位一般都为秒。
time()函数获取的是1970年到现在的时间戳。单位为秒
date(‘Y-m-d ’,time(默认当前时间))函数 格式化时间的。获取的时间是格林威治的时间,一般有小时差异。
通过代码设置时区。
date_default_timezone_set(‘PRC’);设置成中华人名共和国时区。
文件改时区 在 php.ini文件中找到 date.timezone=PRC。
strtotime(str),可以将有时间的字符串str转换成一个时间戳。
常量设定后就会恒定不变,一般用 define函数定义。一般程序的配置定义都会在常量中,因为配置信息一般是不会在运行中修改的。常量定义后不可修改。
在php中变量和函数都采用 小写字母 每个单词之间中_用下划线分割,snake_case. 而常量一般都是大写的字母。
-------3.require ‘路径’,导入php文件到 自己的php文件中/require在每次使用的时候都会载入一次,而常量,只能命名一次。所以为了不报错,
而 require_once 这个载入文件,如果之前在如果一次了,那么就不再执行,只载入一次。所以配置文件定义常量的文件载入一般都是使用 require_once,来载入文件。还有像函数载入只能执行一次的。
require 一旦 文件不存在会报一个致命错误,影响页面的其它的内容。当前文件后面都会不执行。
这个时候 include ‘路径’,不会影响后面的代码 可以正常运行。
表单想要提交信息,必须要有form表单标签。还得有action=“提交的路径”;method=“默认是get”提交方法。
$_GET:用于接收URL地址提交的数据
$_POST:用于接收请求体中提交的数据
$_REQUEST:这个等同于 get+post的结合体。
$_SERVER[‘REQUEST_METHOD’]判断server服务器里面的提交文件的方式,是什么一般是POST,GET。
S
E
R
V
E
R
[
′
P
H
P
S
E
L
F
′
]
返
回
当
前
执
行
文
件
的
绝
对
路
径
。
提
交
单
选
框
和
c
h
e
c
k
b
o
x
选
框
,
都
是
n
a
m
e
为
键
值
v
a
l
u
e
是
值
。
而
c
h
e
c
k
b
o
x
出
现
了
多
选
情
况
,
需
要
吧
n
a
m
e
名
字
编
辑
成
数
组
的
方
法
比
如
n
a
m
e
=
“
c
h
e
c
k
【
中
括
号
】
”
;
服
务
端
接
收
表
单
信
息
的
思
路
三
部
曲
:
1.
接
收
并
校
验
;
2.
持
久
化
(
将
数
据
持
久
保
存
到
磁
盘
上
面
)
;
3.
响
应
(
服
务
端
的
反
馈
)
;
f
i
l
e
p
u
t
c
o
n
t
e
n
t
s
(
′
u
s
e
.
t
x
t
′
,
_SERVER['PHP_SELF']返回当前执行文件的绝对路径。 提交单选框和checkbox选框,都是 name为键值 value是值。而checkbox出现了多选情况,需要吧name名字编辑成数组的方法 比如 name=“check【中括号】”; 服务端接收表单信息的思路三部曲: 1.接收并校验; 2.持久化(将数据持久保存到磁盘上面); 3.响应(服务端的反馈); file_put_contents('use.txt',
SERVER[′PHPSELF′]返回当前执行文件的绝对路径。提交单选框和checkbox选框,都是name为键值value是值。而checkbox出现了多选情况,需要吧name名字编辑成数组的方法比如name=“check【中括号】”;服务端接收表单信息的思路三部曲:1.接收并校验;2.持久化(将数据持久保存到磁盘上面);3.响应(服务端的反馈);fileputcontents(′use.txt′,username,是覆盖还是追加【覆盖就是不写默认覆盖追加是 】) 将数据保存到文件中。
定义全局变量的声明:global $name ;或者 GLOBALS【‘变量名’】
想要用 form标签传文件的话 必须要加一个标签属性
enctype=“multipart / form-data ” file文件。
服务端想要拿到文件的话用 $_FILES
可以用UPLOAD_ERR_OK来判断 error 的错误 是不是没有。
move_uploaded_file(“原文件在哪里”," 移动到哪个路径")将一个已经上传的文件 保存在某个路径上。这个函数会返回一个布尔值 ,true 还是 false。
mkdir()函数可以创建 一个目录。
HTTP超文本传输协议。
header(‘Content-Type:text / html ;charset=字符编码(可省略)’ ,’’)函数专门用于设置 响应头。响应 报文的头部
header(‘Location:给个文件地址’)可以设置跳转到某个文件页面。
header(‘Content-Type:application / octet-stream’)默认下载 默认文件名的文件。
header(‘Content-Disposition: attachement; filename = demo.txt’) 自己定义下载文件的文件名字。
JSON(JavaScript Object Notation)是一种通过字面量的方式书写的JS代码。用键值对的方法保存数据。在JSON中属性的名字必须要用双引号 引起来,字符串也要双引号包裹。主要作用是保存一些以键值对的方式存下的数据,方便使用。JSON中不允许有注释在里面夹杂。
json_decode(将一个json的字符串 装换成json格式,true ),将装换成关联数组的方式。
accept= “audio / * ” 在标签中 添加一个 multiple 属性可以让 input 表单可以多选上传数据。
TODO: 处理接收数据逻辑,保存数据。【先确立一个大框架】
在a标签里面 可以在href的 url标签地址后面 加上一个 ?号 ?=信息(参数)。就是经典的问号传参。
在命令提示行里面可以删除任意的一个服务器。
sc delete 服务器名字 。
怎么装载MySQL的解压版本:
先1.[mysqld]
MySQL 安装目录
basedir=C:/Develop/mysql
数据文件所在目录
datadir=C:/Develop/mysql/data
然后再以管理员身份运行cmd安装mysql。
定位到安装目录下的 bin 文件夹
$ cd <MySQL安装目录>/bin
初始化数据所需文件以及获取一个临时的访问密码
$ mysqld ‐‐initialize ‐‐user=mysql ‐‐console
将 MySQL 安装为服务 可以指定服务名称
$ mysqld ‐‐install MySQL
然后登陆MySQL服务器,重新写密码
先通过用户名密码进入 MySQL 操作环境
$ mysql ‐u root ‐p Enter password: # 输入临时密码
设置数据库访问密码,一定要加分号
mysql> set password for root@localhost = passwo
rd(‘123’);引号里面就是更改的密码。
如果需要复杂的操作需要一个软件。Navicat Premium
SQL语句有一套公共的标准的,不同数据库之间都可以执行代码,不过有一些有特性的东西需要去注意下区别。
users是可定义的数据库表单名字。
【查询语句】
select * from users ;查询多个信息用逗号隔开。 from 查询 哪里的 查询的目标可以用反引号引起来。``
count(id)函数,有多少个id。可与select一起用。
limit 2 限制值取2条信息。
limit skip,length;skip 是从哪里开始 。取多少
【新增语句】
insert into users values (null) 这个可以自定义添加
insert into users (一组)values (一组)括号中填写一一对应的 属性和值。
【删除语句】
删除语句一般都是删除一整行的数据。
delete from users 要配合数据筛选 where 语句
delete from users where title = ‘ufo’ ;想拼接多个数据索引。需要 and or 用来确认多个条件。
【更新语句】
update users set title = ‘ceo’;将 users 数据库的title数据更新为 ceo。
where语句是子语句不能单独执行,必须配合其它主语句使用。
在php中使用连接MySQL的数据和执行语句。
mysqli_connect(‘127.0.0.1’,‘root’ ,‘123456’ ,‘demo’) 需要给用户名还有密码。地址,数据库名字。
用 phpinfo()测试下有咩有那个配置。
在调用函数的时候,不需要爆出错误的话 可以在配置文件中改 display_errors=on 改为off ,或者在函数前面加上@符号,可以忽略这个函数的错误爆出。
在php中有个函数 可以对 MySQL数据库经行 增,删,改,查等
mysqli_query(传入的数据库对象, 'select * from users ; ') ; 这个获取到返回值其实是一个查询对象。可以用来一行一行的拿取数据。
mysqli_fetch_assoc(关联对象),将一个MySQL对象转换成关联数组的方式呈现出来。
【查询语句】
$connection = mysqli_connection(‘IP地址’,‘用户名’,‘密码’,‘数据库名字’)
q
u
e
r
y
=
m
y
s
q
l
i
q
u
e
r
y
(
query = mysqli_query(
query=mysqliquery(connection ,‘select * from users;’);
where(
r
o
w
=
m
y
s
q
l
i
f
e
t
c
h
a
s
s
o
c
(
row = mysqli_fetch_assoc(
row=mysqlifetchassoc(query)){
var_dump(KaTeX parse error: Expected 'EOF', got '}' at position 6: row) }̲ //释放查询结果 mysql…query);
//关闭桥 连接MySQL数据库的桥梁
mysqli_close($connection);
【删除语句】
q
u
e
r
y
=
m
y
s
q
l
i
q
u
e
r
y
(
query = mysqli_query(
query=mysqliquery(connection ,‘delete from users where id=3 ;’);
mysqli_affected_rows($connection);
Cookie的操作流程及作用和其他的而常见用法。
在PHP中设置Cookie
可以在header 响应头,设置一个 set cookie :
header(‘set-cookie:key = bar ’);一般不用这个方式
直接用 setcookie(‘key’ ,‘value ’ ,+16060*24【就是一天之后删除】,‘ / ’)只传一个参数就是删除这个键的参数。第三个参数是 过期的时间。不传递就是关闭浏览器之后就自动删除。path 设置 cookie 的作用路径范围,
domain 设置 cookie的作用域名范围。
如何取出来Cookie:
. 有一个超全局变量可以使用 $_COOKIE ;
JavaScript的操作的Cookie:
获取到 document.cookie cookie的字符串。js的方法无法访问到 httponly为真的 cookie ,
设置 document.cookie = ‘js= foo’; 这是追加式的添加cookie,不会覆盖,一次可以添加一个。
为了cookie的安全性问题,必须要给 数据找一个保险箱装起来。
session_start();
$_SESSION[‘key’] = ‘value’
如何把一个函数内部的变量变成超全局变量。
$GLOBALS [ ’ message ’ ]= $message ;