粉丝375获赞5958

我们无论做任何的项目呢,都会有客户去投诉的,那么我们怎么让他自助处理呢?这个呢是全新制作的一个售后服务系统,等一下呢,我会教你怎么搭建。先说一下功能, 可以选择这个售后的原因,还有这个详细的信息,然后呢这个是售后的产品名,还有这个订单号,订单号的话就是支付的订单号了,然后我们这里点确认提交,这里会返回一个售后编号,我们可以复制一下,然后这里查询进度, 点击进来以后呢查询现在就是待处理的状态,对吧? ok, 然后我们这个后台呢,我们刷新一下这个全都是新的后台呢,就可以看到这个用户提交的售后处理,点击查看以后呢就可以看到这个详细的信息, 点击处理我们就可以进行处理这个订单的任何信息了,比如说待处理处理中已完成或者是已拒绝,我们这里就拒绝一下, 拒绝完成以后呢我们前台再查询一下,现在就会变成已拒绝的状态,这样呢就避免了我们浪费客服资源,以后呢客户说退款,我们直接把这个网站发给他就可以了。 那么我们怎么搭建呢?原码我已经发在了这个幻影论坛,就在这个资源分享,亲测原码这里这里啊,那我们现在来搭建一下。首先呢打开我们的这个宝塔,宝塔的搭建教程呢,我已经发在了第一个视频里,不会的不懂的可以去看一下。我们点击网站添加站点,比如说添加售后点, 编辑自己的域名啊,并更写我的,然后这个数据库呢,我们随便填写就可以了,我们这里生成一样的,方便后续操作。 h p 的 版本呢,我们选择七点二,点击确定。 创建完成以后呢,我们这里点击根目录全选更多删除,确定上传,上传文件,把我们下载好的这个原码上传上来,开始上传叉掉,双击解压,解压好了以后呢,我们打开这个 db 文件,把这个数据库的这个文件名字给它改一下, 粘贴进了我们刚才的账号和密码,还有用户名。保存完成以后呢,我们这里直接插掉,把我们这个压缩包给删除掉,确定,然后点击网站部署一下这个 ssl 证书, 点进来之后点击这个免费证书就可以啊,点击申请证书,然后随便选择一个,点击申请。申请好了以后呢,我们点击保存。 保存完整以后呢,现在就是给他备注一下吧,现在呢,我们就可以直接打开网站查看了,他不需要导入你的数据库。呃,这里提示错误,我看一下啊。 呃,这个东西删多了,不好意思。好,现在就好了, 然后我们刷新一下,他不需要导入数据库,因为他是自动导入的。 ok, 然后搭建完成,打开的效果就是这个样子的,和刚才是一模一样的,很多人会疑惑了,搭建就这么简单吗?对,确实就这么简单。 ok, 然后这个效果呢,我就不演示了,因为刚才都演示过了吗? 我们直接进入到后台,看一下后台是否正常,正常的账号密码呢?是这个默认的, 登录进来以后呢,和刚才的后台当然也是一样的了,然后呢,这些资料都可以自己去改,就这么简单。

挑战,用三十条视频把你打造成专业网络安全实操达人!警告,本视频耗时三十二分钟,全年超六千字,从变量、数据类型、运算符、流程控制、函数、数值、 文件包含等核心基础语法到 php 链接 i s q l 实战开发全书里一站式掌握 php 基本语法与后端实战引用配套学习资源包已经备好,无偿分享,需要的可以评论区留七七七,下面正式开始。 大家好,那么这节课呢,咱们来学习一下 p h p 的 一些最基本的一些这个语法啊,那么我们后期如果要自己搭建一个靶场的话,我们会用到这个 p h p 啊,那么我们先把这个文件先给大家删除啊, delete 重新新建一个啊,来右击新建,那么我们新建的话后缀呢是一个 php 啊,咱们选中这个 php file 就 可以了,然后名字我们取一个 demo, 这个零一号回车, 那么这个呢,就是我们创建好的一个这个 php 啊,那么因因为这个 php 的 话,它里面可以接入很多语言啊,那么这个咱们咱们到后面慢慢给大家做一个讲解。 第一个啊,这个肩骨号问号 p h p, 他 和咱们 h t m 里面那种格式有点相似,对吧?他也是有一个这个开始,也是有一个结束,对吧?开始啊,这是他的开始,肩骨号问号 p h p 结束呢,就是问号肩骨号,对吧?那么这个结束啊,我们想写也可以写上,不想写的话也没有关系。 好,那么咱们呢,先从最基本的这个变量的一个这个定义啊开始呢,给大家做一个这个讲解,这个地方的这个变量啊,和我们很多编程语言的都是非常非常的这个相似。 好,那么下面的话,那我们简单写一下,首先第一个怎么去定义,我们需要有一个这个关键字到了,然后后面的话跟上一个名字,比如说 name, 元音这个张三,对吧?好,那么这样的话,咱们的一个变量呢,就给他定义成功了,但是要记住啊,后面他的后面是一定要写这个分号,在咱们的一个 java 操作当中,我们这个分号的话可以写,也可以不用写, 他不会报错,但是在 php 当中,一行代码写完之后,一定要记得加上这个分号,对吧?好,那么加完之后,那么下面我们给它打印一句话来,怎么打印呢?一口啊? e c h o, 然后打印什么呢?打印一个这个 name 或者打印一句话都可以,对吧?我们怎么打印这个 name? 就是, 然后这个 name 这么一写就 ok 了,记住后面加上分号,对吧?那么写完成之后,我们让它来运行一下,我们可以在浏览器运行啊,或者点击这个咱们的一个这个显示器啊,这个编辑器它自带的这个页面,我们打开之后可以发现,对吧?它输出了一个张三 或者干嘛呢?我们也可以单独给你输出一句话啊,比如说 hello l d, 对 吧? hello word, 好, 那么写完之后来右击做一遍啊, 走完之后咱们运行这个 demo 零 p h p 啊,运行完之后,对吧? hello word, 或者在下面我们也是可以看得见的, 那么这个呢,就是咱们 p h p 当中最基本的一个这个语法,对吧?打印是用的 echo, 然后我们的定义变量呢,通过这个关键字 do 来进行定义,那么我们这边的一个名字还是一样,和 python 也好,这个名字绝对不能用咱们的一个这个关键字啊, 绝对不能用关键字。 ok, 好, 那么定义完成之后呢,咱们简单给他做一个打印就可以,对吧?好,那么下面我们再给他多定几个这个类型呢,是一个字母串,对吧?我们呢也可以给他定一些整数啊,比如说这个 num 一, 它等于这个十分号结尾,到了 num 二等于这个二十分号结尾,对吧?我们也可以这么写,依靠什么呢?依靠咱们的这个到了 num 一, 然后加上咱们的一个这个到了 num 二,好,分号结尾,对吧?来,我们用行一下看它的 一个这个效果,对吧?最终结果三十啊,也是要给我们打印在了这个地方,或者在控制台我们也是可以看得到这个结果的, 我把这个界面往边上放一点吧。好,那么这个呢,是咱们最基本的一个打印啊,打印完成之后,我们后面呢再给他加一个换行啊,那么怎么加呢?我们点上一个这个引号里面写一个间隔号, b r b r 这个东西在咱们前端里面呢就是一个换行,对吧?在我们这个地方他也是一样是一个换行。好,那么还有一个就是注视啊,他的注视怎么添加的?和 g s 一 样两个斜杠,比如说这是变异变量,对吧? ok, 这么简单给大家写一下就可以了。好,那么定义变量,咱们定义完成之后,那么下面呢,我们就要看咱们这个 p h p 的 一些数据类型了啊, p h p 数据类型。好,那么数据类型有哪些?第一个来到了,就是我们刚刚写的自创,对吧?比如说 o r e 等于什么?等于一个 h l hello, 这个 p h p, 对 吧?这个呢,是一个自创类型,来写下啊,自创类型,我把它往后面来一下啊, 好,字母串尾了之后还有什么呢?来,英语输入法啊,到了我们的一个这个 number, 等于一个这个一百啊,或者写个幺零零八六,对吧?这个呢,是咱们一个这个数整数类型啊, 整数的,有整数就有这个小数,对吧?多了 f l o u t 啊, float f l, o u t, 然后 n u m, 它等于这个一零零点二五吧,随便写一个,对吧?这个呢,就是咱们的一个这个小数,对吧?也叫浮点数, 好,这是他的一个类型,还有呢,就是他的一种数组类型,来写一个,到了咱们的一个这个 a r 杠,这个 date 啊,等于什么呢?等于我们的一个这个 a r r a y o r, 然后在 o r 里面我们给他写,比如说张三, 正好李四,逗号王五,逗号叫六啊,这么写就可以了,叫六, ok 啊,这么简单的写下就可以了,那么这个呢,我们把它称之为数足啊,来分号结尾写个,写个数足 数组类型,好,那么这些呢,就是咱们这个 php 它里面的一些这个数据类型啊,这么几种,我们呢先简单给大家演示一下,那么下面呢,我们可以把这些值啊,一并给它做一个这个打印,来一口, 我们这么打印,对吧?啊?字母串冒号,然后点我们的这个,到了 where are you, 然后点 一个这个 d r 吧,我们给他换一行吧啊? d r, 对 吧?来一个换行,好,那么字母串是它,对吧?然后继续点,后面的话是整数,对吧? 整数啊,对应的是点咱们这个,这个到了 n u m, 对 吧? number 啊, n u n b 啊, 好,然后点一个这个 b r, 我 们给他换一个横,然后再点咱们的一个这个浮点数, 我们把这些一并给他打上,对吧?中间拼接就用这个点来进行一个拼接就可以了,然后继续浮点数,它对应的是这个点,咱们的一个这个 float, 对 吧? f l o e t 啊? flalt n u m, 对 吧?然后再点上一个这个间隔号啊一啊,对吧?换行,最后呢就咱们一个竖组,对吧?点上咱们的一个竖 组冒号啊,也是要点咱们一个勾呢啊? a r r 杠,这个待特好,那么我们就先这么写,但是这个地方写完之后有问题,对吧?我们不能直接打印这个 l d 的 r 是 干嘛呢?我们要打印它里面的某某个值,对吧?怎么写呢?中国号,比如说第一个,对吧?我们中国号写个零, 这样呢给他做一个数据就可以了,然后我们来用机运行,看他的一个效果,对吧?字母串整数复点数,数组里面的值,对吧?我们可以单独把数组里面的值给他拿出来,直接写数组,他会给我们发生一个这个报错啊,我们这么写一下就 ok 了。好,那么这几个呢?就是咱们的一个这个呃,数, 这几个就是咱们 p h p 当中的这个数据类型。好,那么说完这个数据类型之后啊,那么下面咱们来继续来讲讲它里面的语法。第一个就是条件判断啊, 这个条件判断啊和 g s 当中基本上就是一模一样啊。咱们来先叨叨一下,先给它定义一个这个年纪,比如说 age, 对 吧? age, 那 么呢让它等于一个这个二十五啊,先定义好, 定义好了之后,那么下面我们就要写它的一个判断,对吧?单独的就是 e f, 什么呢?括号加条件,然后干嘛呢?比如我们的到了 age, 如果干嘛呢?它是小于 等于十八啊,小雨等于这个十八打不好,对吧?我们在这个里面呢,来给他进行一个这个代码的一个这个书写啊,把它写规范一点,这样一个空格,对吧? 如果我们的这个到了 h, 表示他是小雨,等于这个十八,怎么搞呢?我们给他输出一个 e q e c h o, 那 么太小了, 好,这么写下,对吧?写完之后我来看一下啊,这个地方后面加上一个这个分号结尾,那么这个写完之后,我们最后再给他一口一个啊,一口一个这个 b r 吧, 换个号啊,不然的话全部会堆叠在一起,堆叠在一起看起来这个效果呢就不是很好看了啊。那么如果大家把这代码都堆叠在一起, 我们可以选择咱们的一个这个 code 啊,里面有一个这个 reformat code, 它呢可以帮我们格式化,就是整理一下咱们的一个代码,对吧?好,那么整理完成之后,我们也是要来 这个地方来运行一下,看一下它的一个效果,对吧?太小了,对吧?条件不满足,这是单独的 e f 的 一个这个使用。好,那么下面我们再来写啊, e c h e, 咱们来给它加一个这个换行 e r, 好,那么下面就是 if 和如果什么什么,否则什么什么,对吧?我们这么写啊, if 括号怎么的多了 h, 如果它是小于等于十八,对吧?也是一样啊。啊,大于等于十八,大于等于十八,这应该是小于等于十八啊, 小宇等于十八 h h 是 二十五,二十五,我们的年纪啊,应该这么写啊,年纪小宇等于十八,对吧?小宇等于十八。我们就来一口。杠呢,太小了,对吧? 好,那么否则的话杠呢?就是太大了,对吧?那么后面的话,我们就写个 else e l s, 对 吧? else 杠呢?来一口,然后 太大了,对吧?这么一写就可以了。好,那么写完成之后,那我们也这样运行,看它的效果,对吧?是不是太大了,对吧?刚刚这个太小了,然后这个呢?又太大了,对吧? 这个呢,就咱们的一个这个条件判断的一个用法,然后把这个暂时先给他添加一个这个注式啊,对吧?添加一个注式,我们来主要看这个地方,对吧?太小了,或者太大了,那么我们如果说中间再加一个条件呢?比如说 if, 对 吧? if else, 对 吧?就如果 如果什么什么,否则什么什么,那么中间的我们再给他添加一个这个,或者来把它注射,对吧?下面的话我们来这么写一下, 把这个 b r 也暂时先给他注射,那么下面我们在这个地方来写 e f 括号,咱们的一个这个刀呢? h, 如果他是小于等于这个十八,对吧?咱们就给他一考一下,太小了,太小了 啊,小与十八,应该是太小了,对吧?如果它等于十八,应该是刚成年,对吧?来,怎么写呢? else, 再写一个 is 括号,什么呢?咱们的都了啊?一,呃,都了,这个 age 干什么呢?如果它等等于这个十八,对吧?那么就说明什么呢?它刚好成年,对吧?一口来一个,这个 刚好成年,对吧?刚好成年分号,好,那么如果它就是大于什么呢?那你就写个 else, 对 吧?来啊, e l s 一, 对吧。嗯, else 啊,在这个,嗯, else 一, 这个是 if 的, 这是 else else if, 咱们这个年纪刚好成年,那么 else, 哎,怎么没有提示啊?这个地方 else 一口太大了,太大了,我说呢,应该是这地方没出来,好,这么一写就可以了,对吧?好,那么现在年纪是二十五,对吧?二十五的话肯定是太大了,对吧?那么如果是 十五呢?他就是太小了,来,又急又行,对吧?太小了,如果刚好是十八岁,对吧? 刚满十八岁,右击走,对吧?刚好成年,对吧?那么这个呢?就咱们一个条件判断的一个这个写法啊,和整个这个加括号当中基本上就是一模一样,没有什么太大的一个这个区别。好,那么这个说完之后,条件判断完了,那么下面干嘛呢? 下面就是咱们的一个这个循环了,对吧?来一口,然后我们给他 b r 一下,换个横 分号结尾,下面我们来写他的一个这个循环啊,循环这个地方也是这样,就是反反复复让某一个代码执行多少多少次,对吧?那也是这样,第一个开始变量, vr 一 啊, vr 二的啊,或者 vr 的 啊, vr 杠 s t r 的 啊,或者 vr 杠 n u m 版, 等于一,对吧?单独先给它定一个开始值,然后后面的话关键字写这个 will, will 什么呢? will 里面干嘛呢?我们就需要给他写这个它的一个这个条件啊, 我们的这个都呢 v r 杠 n u m 干嘛呢?如果它小于等于五,对吧?我们总共干嘛呢?让它循环个五次啊?循环个五次,然后下面我们来打印啊,一敲啊,这是我的,比如说啊,这是我的第 多少次,对吧? d 点咱们的一个这个多啦,不好意思啊,点咱们的一个多啦 v a r n u l, 对 吧? d 多少多少次循环,对吧?次 执行,对吧?然后面的话点上一个这个 b r 换行,每次我们给他换一行,对吧?好,那么这个地方写完之后 还有个点需要注意,干么呢?我们每个值,记住啊,每次循环它这个值必须要加个 e, 如果不加 e, 那 么它就是一个死循环,对吧?所以说干么呢?我们下面必须要写,来到了这个 o v a r, 朋友们必须要加,加就是干么呢?每次执行呢?给你加一次,对吧?你加个 e 啊,你执行一次,给你加个 e, 执行一次,给你加个一,好,那么我们来有机运行,哎,对吧?这是我的第一次执行,第二次我们在这一方也可以看见的吧?第一次执行,第二次执行,第三次执行,对吧?好,那么这个地方我们给他换个,行吧,因为这个里面打印它会对接在一起啊,我们可以在浏览器上面去看一下,或者呢,我们也可以 在咱们的这个浏览器当中打开它,对吧?啊?这个地方看也是可以的,好啊,关掉一个,不然的话打开太多就不好了, 这个呢是咱们物有循环最基本的一个写法,对吧?就是干什么呢?当条件满足的时候,循环体开始执行,对吧?那么还有一个呢?和咱们 g s 这样,就是呢,就是都要循环,对吧?啊?就是无论, 无论条件是否成立啊?代码先执行。对, 代码先执行一次,对吧?无论是否成立,我干嘛先给你执行一次,对吧?那么这个地方 o u m e 吧,啊? u m e 啊, u m e u m e。 然后下面再给他写个 u m e 啊,来我们这一方给大家写一个换行啊,来 一扣一啊,这么一写就可以了。好,那么下面这个就是无论条件是否成立,那就是咱们一个换行啊,来一扣一啊,这么一写就可以了。好,那么下面这个就是无论条件是否成立,对吧?来一扣一啊,这么一写就可以了。 v r 杠这个 n u m r 等于这个一先写上,那下面的话我们来 do 啊, do 里面就是咱们需要执行的一个这个代码,对吧?我们先随便写啊,写完之后让它加加,对吧?来一敲,干嘛呢?啊?我先执行 一次,对吧?好,那么执行完一次之后干嘛呢?我们下面的话再来写这个,咱们的一个这个 vr 再给他加一次吧,来 v a r r vr 干嘛呢?来加加,对吧?执行一次。好,那么下面呢,我们来给他写一个条件啊。 will 什么呢? will 括号,咱们的一个这个多了 vr u m 干嘛呢?他也是来大于小于等于五吧。 好,就这么先写一下,那么写完成之后啊,那么咱们下面来验证一下他的一个条件,来右击一用行,对吧? 我先执行一次,我先执行一次,我先执行一次,对吧?很明显现在条件成立,对吧?如果条件不成立呢,对吧?我给他改一个大于等于五的,大于等于五他肯定是不成立的,那么不成立干嘛呢?来,我们右击走,走完之后可以发现他就执行了一次啊, 这个呢,就是咱们几个都要循环,就是我不管你这个条件是不是真的啊,或者是假的,对吧?我告诉你,我直接执行啊,我先给你执行一次,就是霸王硬上弓的意思,对吧?先来执行,执行完之后我再去看你的这个条件,先斩后奏啊,一样的一个效果。 好,那么这个呢,是咱们的一个这个物要循环,物要循环完了之后呢,就是咱们的一个负循环啊,我们一口一下朝间隔号,咱们的这个 b r, 这个写上啊,在这个地方啊,也加上这个分号啊,屁股后面。好,那么下面的话就咱们这个负循环啊, 负循环的写法和这个 g s 也是一模一样,来,干嘛呢?直接写这个负啊,关键字负括号干嘛呢? n u m 来刀,不好意思啊,刀了 n u m 一 啊, n u m 零一吧,零一,这么写 n u m 零一干嘛呢?它等于一个一,然后后面的话分号 后面写它的条件,刀了干嘛呢? n u m 零一它干嘛呢?小于等于五, 这个写完之后分号后面杠呢?咱们呢?到了 n u m 好 意思啊? n u m 这个零一杠呢?它要写一个,这个加加,对吧?我要给你加一次,好,那么 f 循环,它的特点就是我必须要知道你这个东西到底要执行多少次啊?你要执行多少次?我得知道这个东西 好,那么把这个给它写上了之后,那么下面的话我们直接打印就可以了。一口啊,那么呢,点上,这是我执行的 d 多少次,对吧? d, 哎,哪个地方有问题,我看一下啊。 啊? n u m 零一 n u m 零,哎,这张应该没问题。一口,哦,这张多了点啊,不好意思啊,这是我执行的 d d m 多少次呢?多了 n u m 零一次,对吧?来 n u m 零一点次,然后五号 一啊,好,这么简单写一下,对吧?写完成之后啊,那么下面呢,我们来执行一下他,看他这个效果。来啊,这是我负循环啊,这是负循环吧,这是负啊,这是 will, 对 吧?把它换一下,这是 will, 这样容易区分,对吧?来走,走完之后,对吧?这是 will 执行的,下面的是 for 执行,对吧?两个呢是一样的,都是啊,就是 will 循环,我可以不知道你执行多少次啊,因为他,对吧?条件吗?我可以给你写死, 永远永远都成立,对吧?好,那么负循环我们得知道,对吧?他到底要执行多少次?所以说我们要在这个里面啊,一定要把它写完善啊,一定要给它写完善。 好,那么这个说完之后,涉及到咱们循环的还有一个东西,叫什么?叫数组的一个这个便利啊,数组的一个便利,怎么去便利这个数组?好,那么下面的话来一口啊,一口,嗯, 封号啊一啊,对吧?这么一写就可以了。封号,然后下面的话 便利数组。便利数组就是什么意思呢?就是我们这个就相当于是咱们 python 当中的一个否循环了,对吧?便利循环的,对吧?那么这地方用的是否 h f r e a c h 啊? 否 h 循环就是将一个数组里面的值一个一个给它打出来,我们刚刚在这个地方不是已经给它创建了一个吗?对吧?我们把这个给它直接复制过来,来 ctrl c, 然后在这给它 ctrl v 粘贴,粘贴完成之后,那么下面我们就对这个值来进行变异啊,写个 get 一 吧啊,不然的话名字重复了。好,那么下面我们来否这个 h 啊否 h, 然后里面的话,我们需要把这个名字啊,就这个 数字的一个名字给它写进去,到了这个 a r r 杠,这个 get 一 写进去,然后干嘛呢? as 这个 value, 就是 把它的值要给谁呢?给这个 value 啊, 把它里面的值便利出来,给到谁呢?给到这个 value 完了之后干嘛呢?我们来打印这个 value 啊, e c h o e e, 然后点这个 e 口,我们直接就是 value 啊,到了啊, value 第一,后面必须要跟你对 e 口 value, 然后点一个这个 b r, 对 吧?换行啊,每打一个给他换一行,好,那么下面我们来看他的一个这个结果啊,右击 运行,对吧?张三李四王五雷,对吧?就是把它里面的一些元素一个个的啊,给他拿出来,按顺序啊,一个一个一个的给他拿取出来,对吧?那么对比 python 来说的话,其实 python 只需要用一行否循环就可以完成这样的一个工作啊。但是在咱们的 php 当中啊,要写这么一个否一尺啊, 单独一个否循环,他也是执行的一个次数啊,好,那么我们这么给他简单做一个这个操作就 ok 了,那么这个呢,是咱们的一个这个否一次的一个循环否一次他除了可以执行便利咱们一个数字之外,他还可以变成这样的一个东西,来一拷啊,呃,一拷啊,然后 一拷啊,然后 b 啊,他还可以辨别对象,来,我们这么写啊,高呢?咱们的一个这个, 咱们一个这个代替杠,这个 o b g 啊,这么写下 o b g 吧,那它等于一个这个 a r a y, 然后这个里面我们这么写怎么写呢?箭指对的形式, name 啊, name 它对应的是,比如说 peter 啊, name 对 应的是 peter 啊,然后这个 love 爱好,它的爱好什么呢?比如说是唱歌对吧? s o n g song 对 吧?朗诵或者唱歌对吧?然后它的性别啊,然后 s d x 对 吧? six, 它对应的是随便写,简单写一个 e o y 对 吧? boy 啊, 好,那么先简单这么写下,写了完成之后,那么下面,对吧,这是一个对象,就是一个键,它指向一个值,一个键指向一个值,就像 python 的 字典一样,那么我们怎么对它进行一个编辑呢?也要用到这个否一尺,对吧?这个键我们把它称之为 k 啊,那么值呢?就是 value 啊, k value 的 一个形式,就相当于这种啊, k 干嘛呢?它对应的是一个这个 value, 就 这样的一个格式。 好,我把这个给大家写一下啊,嗯, ctrl x 啊, ctrl 啊,就这种形式, k 对 应的一个 value, 那 么好,我们怎么对它进行一个变利用到的呢?也是 for each 啊, for, 不好意思啊, f r for 这个意思,然后里面的话,我们需要写,也是要先把它的名字写一下,就是 刀了,咱们的一个这个待特 o b g, 待特 o b g, 我 们写完之后,爱是什么呢?爱是一个刀了, k 啊, k 一 万干嘛呢? k 他 必须得对应一个这个 id, 必须要把这个给它写上 k, 他 得对应一个这个 value, 然后这个时候我们就可以这么写了,对吧?来一,依靠什么呢?依靠咱们的一个这个 k, k 冒咱们的一个这个点,咱们的一个这个到了 k, 对 吧?不好意思啊, 到了 k 啊,这么写,对吧? k 对 应的就是这个东西,对吧?那么 value 呢?对吧? k 是 他啊,点对应的 value 冒好,然后点到了五百米, ok, 这么一写就 ok 了,对吧?写完成之后,那么每次拿完之后,那么咱们呢?也是要换一个行,对吧? 笔啊,这么一写就可以了,好,那么写完之后,让我们用行一下,看一下它的一个效果,对吧?天啊,那么对应的我们来看这个地方,对吧? 啊?在这个地方,对吧? name 对 应的 value 是 peter, 对 吧?啊? love 对 应的 value 是 son, 对 吧? sex 对 应的 value 呢?是 boy, 对 吧? 这个呢?就是它的一个这个简单的一个这个打印,我们也可以在这个地方,对吧?这个地方更大一点啊,我可以随便放大,好,对吧? k 对 应的是,对吧? k 啊,就是 name, 对 吧? k 是 name, name 就是 件啊,这个 peter 呢?就是它的值,对吧?件对应的值呢?是这个,对吧? 他对应的是他,然后他对应的是他一一对应的一个这个关系,这个就咱们的一个这个见执行的一个这个数据, ok, 那 么几个简单的遍地,我们先来讲解,讲解完成之后,那么下面我们来讲解他的一个这个函数啊,函数 啊,一口啊 一啊 分好,然后斜杠,斜杠函数啊, php 的 函数写法和加括号的函数一模一样来关键字方式,然后后面跟上名字,比如说呆猫杠 o n e, 对 吧?啊?或者方声 o 随便写,对吧?然后括号里面跟的是参数啊,跟的是这个参数。 好,那么这个地方我们先简单,先不写这个参数啊,先写最基本的,对吧?好,那么里面干嘛呢?写完成之后,那么后面的代码大括号走里面想要解释什么?比如说依靠,对吧?依靠啊,这是我的第一个函数, ok, 就 这么一写就可以了,对吧?这是我的第一个函数。好,那么写完成之后,那么咱们要让他执行,必须得第一个函数, ok, 就 这么一写就可以了,对吧?这是我的第一个函数。好, 直接写它的函数名就可以了,来右击运行,对吧?我们来看,这是我的第一个函数,对吧?它里面代码呢?就会被执行啊,那么说到这个函数下面还有一个东西叫什么呢?叫作用域啊,作用域指的什么呢?指的是选举变量。来,我们先定一个 number 杠 one 等于一百,对吧?分号,然后到了 n u n b 呀, number 杠,这个 啊,等于二百。好,先第一两个数,对吧?这两个呢,我们把它当做是一个全局变量啊,因为他在外面,对吧?那么函数里面的呢?就是一个局部变量。好,那么现在这两个全局变量,对吧?我来下面来 f o c 方式,然后呆猫兔 括号,然后我们在里面干嘛呢?我在里面调用这两个函数,比如说干嘛呢?依靠,然后打印,打印咱们这个这个刀,然后这个 n u m b e r 杠,这个 o n d 可以 发现,对吧?有这个黄色交叉线,我是不能直接去使用它的啊,函数里面被称之为局部啊,函数外面呢,它就是一个全局, 我们怎么在函数当中使用这个全局变量?很简单,我们需要 g l o b i l g l g l 是 呢, g l, 咱们的 d l n u m b e r number one 啊, number one 和谁呢?和,这个多了 number two 啊,我们需要先将它们声明一下,这个是局变的,对吧?我们这样的话就可以打印它了,对吧?打印什么呢?打印,比如说这个 number one 啊,来加上这个多了啊, number two, 对 吧?好,那么这么一写,对吧?打印他的一个这个结果,然后我们下面的话,来呆猫第一猫,呆猫 two 啊,我们来走一遍,又近又近,对吧?三百啊,这个地方刚刚运行完之后没有加这个换行啊,一扣啊, b r 啊,换一行,好,分号结尾,对吧?来走,走完之后对吧?三百啊,他就正常给我们做了一个计算,这个呢就是我们函数的一个作用域啊,好,那么有了作用之后,那么下面呢,就是咱们的一个函数的一个参数,对吧? 函数的参数 f o c 啊,方数啊,里面 d m d m three 啊, demo three 里面的话,我们给他传入两个这个参数,这个参数啊,咱们呢可以随便给他写啊,比如说来到了 name, 逗号 到了 age, 对 吧?这么简单写一下,写完成之后我们在这个括号当中啊,这个括号他给我们给到下面了啊,我们也可以这么写,对吧?在这个括号当中呢,我们来写一扣,什么呢?随便写,对吧?啊?比如说,啊, 我是我是谁呢?我是点这个抖了 name, 对 吧?啊?点,我今年点完了,不好意思啊,完了, age, 对 吧? age 碎了,好,这么一写,对吧?写完成之后,那么下面我们在第二问这个 demo three 的 时候,大家可以发现,对吧?有一个 name 和一个 age, 就 它的参数啊,比如说我叫什么呢?我叫 peter 啊,我今年十八岁了,对吧?好,这么写一下,写完之后来用心, 对吧?我是皮特啊,我今年十八岁了,对吧?这是函数的一个参数啊,那么除了参数之外,最后一个呢?就是它的一个这个函数的一个这个返回值啊,函数的返回值我们是可以给它打印的,是吧?来,先拷一下 间隔号,咱们的一个这个 b r 换一行。好,那么下面的话,我们呢?来,方身啊,方身啊,我应该写这个啊, f u n c t l 啊,方身啊,不好意思啊,写错了啊,方身啊, type, 然后名字的话写一个这个 demo 啊, demo 括号里面的随便写两个参数吧啊, u m e 逗号 n u m r 对 吧?然后大括号在这个里面的话,我们直接 return 啊, return 什么呢? return 一个值,我们把这个值给它直接做一个反馈,或者我们先这么写了啊,来到了 n u m b e r 等于咱们的一个这个 到了 n u m 一 加到了 n u m r, 对 吧?把这个相加,然后呢我们直接 return 这个到了 number, 对 吧?把它呢给它作为返回值返回出去啊, a u n b r e 吧啊? number 是 一个这个,嗯, 写个 result 好 啊,写一下 result 好,那么我们把它呢作为一个返回值给它返回出去,然后下面的话,来我们写一下第二个 demo four 啊, 然后传个十,传个十五,对吧?它们两个相加应该是二十五,对吧?那么如果直接运行 没有任何效果,为什么呢?因为返回值我们需要打印才可以啊,不打印的话是不行的,对吧? e c h 啊, e q 点 啊,不好意思啊,一 call 咱们的 demo, 对 吧?我们直接打印我们当前的这个程序的一个调用来游记走,做完之后,对吧?二十五,可以发现,对吧? 这个呢,就是咱们的一个函数的一个返回值啊,可以发现我们写了这么多,那么这些语法呢,其实它和咱们的加括号的非常非常相似,几乎就是一模一样啊, 如果他更严格一点啊,他这地方必须是以分号结尾,不写分号,对吧?他有红色波浪线,就是语法报错啊,所以说我们写的时候啊,一定要注意习惯。好,那么今今天我们就先讲解一下咱们这个 p h p 他 最基本的一些语法,我们今天这节课我们先到这。

本视频耗时五个月,共计三十小时,三十八分钟,零基础自学黑客从入门到入狱,全套教学视频包括工具安装与使用、黑客攻防、渗透测试等,共三百六十八集。此视频内容敏感,很可能被下架,建议先收藏再观看。声明,此教程仅供学习, 禁止用于违法行为。要是想系统学好网络攻防技术,我自己录制的二百节从零到进阶的视频教程可以分享给你。主流的网络攻击和防御的技术都讲的清清楚楚,只要是粉丝留个六百六十六就行,只希望你能把学到的技术用在正道上。然后今天我们讲的是文件以及文件上传,那 这个功能大家都应该是很熟悉的,就不管什么网站,他都是有一个文件上传功能的,是吧?文件上传功能主要的作用是什么?第一点,比如说你要上传头像,也是我们说头像了, 你想自定义自己的头像,你就需要一个上传功能是吧?然后后台才会把你上传的东西那放在数据库里面 是吧?然后你再可以随时去调用他的啊,数据库生成在前端,这是他原先的一个功能,也就是给给用户 自定义上传的一个功能,一般是用来上传图片,并且只能上传图片, 是吧?这是第一点。那第二点还有给管理员用的, 那你普通的网站不仅仅要给那个用户用户用嘛,是吧?后台的管理员还要在后端去管理它,那管理员对网站也需要文件上传的功能,比如说上传 logo, 因为我们知道绝大多数的网站都是按照一个模板来改的,比如说我可以下载字幕模板,然后把我公司的 logo 上传上去,是吧?然后那 这一个,这一个模板可能是通用的,我要给很多公司用。那每一个管理员,每一个网站的管理员拿到这个模板之后,我可以改自己的 logo 啊。还有比如说,哎,我我这个后端有一些功能,比如说数据库备份, 或者是一些信息备份,我就需要用到一个其他的功能,比如说上传,是吧?然后或者下载,那我需要把我备份的信息进行下载下来啊,下次我需要还原的时候,我又可以重新上传,是吧?这里也是用的到它的上传功能的。 好,那在后端它做的限制可能就不不仅仅只允许传 p h p 了,它可能还可以传很多东西,比如说 z i p, 是 吧?比如说烧烤, 比如说很多自定义后缀的一些东西,这里就是一个文件上传的一个功能,是吧?前端和后端,一般所有的啊,就一般的网站都是有这种文件上传功能的。好,那漏洞或者说我们等一会要讲的,那文件上传有什么漏洞呢? 那文件上传我们第一点我们要上传什么东西, 是吧?我们在攻击的时候,即使文件上传这个漏洞,目标我们为什么要攻击文件上传这个漏洞呢?其实最重要的是 get, 就 获取权限,是吧?那获取权限有很多前提,比如说你要需要有一个木马, 是吧?你需要有一个木马,那你得保证你的木马能够上传上去。 这里就是关键的一点,我们称之为上传点,你要找到上传点,也就是漏洞点,是吧?那有同学说,哎,让你传个头像,你传了个病毒,那只要你能把病毒上传上去,那么来就说明,哎,这就是一个漏洞点啊。就这里就是一个漏洞,是吧? 但是找到这个漏洞,能不能就一定能 get 需要呢?不一定的吧,是吧?不一定能 get 需要。因为我们学到 p h p, 也学到了一个 p h p 的 解析过程, p h p 要解析你才能运行 p h p 的 代码。 那比如说,哎,现在有这么一个情况,哎,我在后端做了一个限制,不管你传什么东西过来,我不给你不给执行权限。 什么意思?就是我不管你传什么东西过来,我就把它当成 pht 来打开, 那就不以 pht 的 方式来打开,那你能给的?笑。那你上传这个病毒,只要在我的服务器上无法解析,那么你上传的这个对这个服务器来说只是一个 web 啊,只是一个文本,只是一个文本,也就说不可解析, 那不可解析的话,那你是无法 get 需要的。你上传的东西一定要能够解析,要能以 p a p 的 方式来解析,它才能 get 需要。好吧,这是第二点,就你上传上去这个文件,你一定要能以 p a p 的 方式来解析。好第三点, 那还有什么?那文件上传那,那后端有个机制啊,你文件上传上去了,他有可能给你做一个什么操作,他把你上传这个文件给你修改名字,给你换一个地方给他存储起来,你还能找到吧?你不一定能找的到了,比如说给他一个 md 五的一个命名 是吧?给他重命名一下,那你就找不到这个文件了,那你找不到这个文件怎么去漏,怎么去利用这个漏洞呢?无法利用。所以还有一个前提就是能找到, 能找到你的图片或者木马,这也是很关键的一个部分,是吧?那你要满足了这么多条件之后,你才能给他写,也就是文件上传给他写的啊,前提有很多,他不比文件包含,或者不比收购猪肉。 对,而且现在的那个程序员也知道,哎,文件上传很容易被你们利用,是吧?所以会加强对文件上传方面的一个警惕。 好吧,当然也有很多方法可以绕过。好吧,我们一个个来讲啊。我们先来讲文件上传的一个运行函数。 好,老,文件上传主要的一个作用就是通过 php 把文件上传到服务器,好吧,好,然后我这里也立了一个那个目录啊,大家可以不用按照这个目录,大家只要对我的课程有一个深层次的理解,这个目录其实就很容易理解了,我们只要了解绝对路径和相对路径就行。 好,那我们现在正式开始开始讲,好吧。然后文件上传跟我们之前所讲的那一些页面写法是一样的。首先我们需要一个什么?需要一个表单,这个表单是给你用来传输。哎,你上传的这个文件的,那我们可以来看一下, 那就是一个很普通的一个表单,我们可以来看一下,只不过这里有个 from, 那 表单发送给谁?他把它发送给了 upload 点 p h p, 采用 p h p 的 方式发发送。哎,这里又多了一个类型, 这里多了一个类型,大家看到没有,跟我们之前上传普通的表单好像不一样,这里多了一个类型,叫做啊, echo tab, 是吧?他其实简单理解来说就是把他以二进字的方式传输过去,其实加不加关系不是特别大,但是一般的那个程序员都会加。对,还是以二进字的方式来发送到后台,让你传输的文件就不会在中途啊丢失,也不会被损坏。 好啊,然后这里 number, number 是 个标签,很经典的就是其实这个标签你写不写也无所谓,关系不是特别大,是吧?这个标签啊,不是特别大,只是为了做那个,呃, 做那个 css 的 时候,到时候可以让它更加美观,更加好看一点。好,这里其实就是告诉你,哎,这里就是 用来传文件的地方。好吧,然后我们这里稍微改一改,因为这里会把这个数据发送给 upload 的,是吧? 我们现在暂时没有 upload 的 这个页面,我们就把它改成什么,把它改成紧字吧。好吧,自己发送给自己就可以了 啊,自己发送给自己啊。当然上节课我们也讲过,如果你非要把一个数据进行分开处理的话,比如说,哎,前端只是负责一个什么啊,那个上传一个文件,然后再把文件发送给后,后端发送给另外一个页面也是可以的,没有问题。好吧, 它写法只是在这里多了一个 action, 你 把它指定把这个数据发给谁就可以了。好,然后面 input 啊,类型选择 file, 选择是一个文件啊,之前我们可能选择是 txt, 如果你选择 file 的 话,你看我们来看一下最后的一个结果, 那这里就是我们刷新一下,哎,他就会出来一个这样的啊,文件名让你在这里选择啊,选择什么是吧?然后提交啊,就是一个很很朴素很经典的一个上传的一个东西。好,那你可以在这里上传嘛?提交来, 但是我们现在由于后端没有啊,写对应的一个功能,没办法处理他们,是吧?好,在前端页面我们就写出来了啊,这里大家了解一下就行了啊,虽然写的很简啊,很丑啊,其实就没有做美化。 嗯,好,那我们现在来了解一下,就是刚才我们写的那个 excel 来 excel, excel 属性就是一个指定了,你要指定了哪种文件类型,其实就是你可以把它想象成是把数据,把这个图片以二进字的方式传输给后端, 好吧?嗯,好,它后面你就固定的写,只要写那个,只要传文件,你叫 martin pass, 然后 for that 就 可以了。好, 那后端现在我们要开始来处理数据了吧,是吧?后端我们要开始来处理数据。好,为了简单话,你看我在这里写这个实验的时候,其实是把它拆成两个实验来来做的 啊,拆成两个页面来做的,但是我们其实也可以用一个页面直接把它装下来。好吧,你看,我们可以接下来在这里继续写嘛,既然自己传给自己,那我就自己再给自己接收呗,是不是这样,那我们就开接收。好吧。 好,然后我们先来看一下文件和之前我们所讲过的那个 pos 的 或者 get 的 接收方式有哪些不一样的。 好吧,那这里就是一个啊,现在就是一个 p h p 的 框架了嘛,我们现在在里面写代码。好吧,那怎么去接收呢?那一样的啊,多呢?比如说 file, 那 我要接收一个 file 啊,接收一个文件,并且把它变成一个叫做 file 的 一个变量, 是吧?那 file 等于什么啊?多呢?下划线 file, 这也是个大写 files, 好, 接收谁?那接收我们传过来的那个名字,它的名字叫什么?它 name, 那 名字就看它的 name name 等于 file, 那 回车这样就接收到了,那跟我们之前所讲的多呢 get 或多呢 post 不 一样,你看多呢 get 和多呢 post 怎么去接收? 那这里就是一个经典的啊,那个 get 的 一个接收方式,是吧?那这里就是 post 的 接收方式, 那那文件的接收方式和它们不一样,你要使用多了下怀下 files 来把它接收,好吧。好,接收完了我们也可以来看一下,那比如说,诶, 那我接收到了,到底是一个什么东西?到底是一个宿主,还是一个字串,还是一个数字,是吧?我们需要看一下,因为我们现在对这个多了下还是 fire 还不是很理解,所以我们直接可以来看一下这个多了 fire 的 一个文件类型, 那现在那个多了 fire 已经等于这个 fire 了,所以我们可以使用什么 v a r dump 来看一下吧, 是吧?那我们来看一下,那可以看到,哎,它是一个什么东西?你接收到的东西就是一个数组,那这个数组里面有五个值, 那有那个 name name 叫键名,是吧?后面叫做子,那它的键名叫什么? name, 那 第一个数组就是 name。 e 的 偏基啊,这里我们大家一看就知道,哎,这是一个图片啊,它是一个文件名叫 e 的 偏基,是吧?类型,那我们可以在这里看那 type, 那我们可以也可以将它分那分条打印啊,你就使用 for each, 这之前我们也讲过的 for each 将它分开打印也可以,那我们也可以来看看那 for each, 那 把它全部循环出来,那这个还怎么用?还记得不?那前面的数组 as, 那 你要取出来的键,键名以及值, 那键名以及键值了,那你看多呢? a, 以及你还要取出一个什么东西啊?你还要取出一个键值多了 a, a, 好 吧,那我们就可以把它分开打印出来。 好,为了让它更美观,我们这里也可以给他后面再附一个什么回车,等一下我们就看的更清晰一点。 好,这个就复制下去。好吧,那这样键和键名我们都能看得到了,我们再来看一下这个,给它刷新一下,那可以看到它的 name, 它的名字叫做 e 的 偏 g type 类型是吧?是 image 偏 g, 这就是一个经典的一个文件类型, 那后面的有一个 temp name。 temp name 又是什么东西呢?你可以把它想成是什么 临时名字,就是文件上传,他有一个过程的,比如说,哎,你文件上传上来了,那文件上传,那文件从前端,把从前端,你把一个文件丢到了后端, 是吧?那后端拿了这个文件第一时间应该是保存起来, 但是它保存起来并不是保存在你的文件里面,而是保存在哪里啊?或者说它也是保存在你的词盘里面了,只不过它是保存在一个什么临时文件里面,叫 temp, 这个临时文件会伴随着你的重启,伴随着你电脑开机而全部删除, 就这个文,这个文件夹的一个特性就是这个样子,那只要你电脑重启了啊,他就全部把里面的东西都删掉了,你下次开机又是新的,所以他他这里面有,我们也称之为临时文件夹 啊,也就说你保存在这里面的东西都是临时保存的,下次开机就不见了。好,但是这个文件夹也有一个好处,就是它的权限很低, 那有时候我们在上传的时候,比如说我们为了绕过防火墙,绕过一系列的东西的时候,那为了能让我们的这个文件能够保存上去,我们一般也会把这个文,也也会把自己的文件保存在这个 pmp 里面, 如果我们可以指定它保存在哪里的话,那这个病,那这个文件夹也是病毒最喜欢的一个文件夹啊,因为它能保存所有人的东西,就它权限很低,谁来都能保存, 是吧?好,这是一个很特殊的一个文件夹,我们这里就介绍一下。那所以我们可以看到,哎,这临时保存的,它保存在哪里嘞?啊?它就保存在这个 type 路径下面, 那保存在这个路径下面。那 windows p h p a t m p, 看到没有?这就是一个临时文件 好吧?嗯,好,在下面有个有那个一本就是有没有报错,没有报错, size 我 们可以看到。是大小吗?大家知道大小二二七七,也就是说,哎,一个文件上传上来,他能,呃,你接收到的信息其实只有这么多种 啊?只有几种?一种、两种、三种,四种,五种啊,只有五种, 那你能接收到的你后台能 get 得到的一个信息啊,就只有五种,好吧,那我们也可以分开取值来看一看,那如果,哎,你不想,你不想,你,你已经知道这里面是什么东西了,那比如说我想取出它的 name, 那 比如说我就想取出这里面的 name, 我 只想知道它叫什么名字,你可以这么去取,那再加一个 name, 那这样你就这又又回归到我们之前所说的那个数值的取值,大家还记得吧?那数值的取值,那我们刷新一下,可以看到只能看到它的文件名了吧? 是吧?那其实这里有一个赋值的过程,那如果我们不赋值,其实也可以直接这么取。

零基础学习编程,不要拒绝 psp 啊,将 php 作为你的第一门编程语言,会对你的程序员生涯产生不良影响啊,为什么呢?因为 psp 入门简单啊,学习他呢,你很快就能达到一个会写代码的水平, 然后呢,很快又能达到一个可以独立完成项目的水平啊,有些急功近利啊啊,这样的结果就是你的综合能力并没有得到太大的提升啊,但是呢,你现在已经可以去工作了,很多 plp 程序员就是这样啊,一工作呢就是十年啊,三十多岁的时候才发现很 很多底层的原理自己根本没有接触过啊。然后呢,自然而然的就中年危机了啊。你的第一门编程语言的话,如果选 c 或 c 加加啊,或者是扎瓦啊,都可以轻易的摆脱这种局面,这也是很多高效把第一门编成语言设置为 c 语言的原因啊啊,不是让大家去用 c 语 语言去找工作,而是呢,用 c 语言去培养大家的理论基础。我十多年前呢,就是学的第一门语言就是 c 语言啊,虽然工作十多年了都没有用过,但是呢,感觉还是对自己有很大帮助的。

本视频耗时五个月,共计三十小时,三十八分钟零基础自学黑客从入门到入狱,全套教学视频包括工具安装与使用、黑客攻防渗透测试等,共三百六十八集。此视频内容灵感很可能被下架,建议先收藏再观看。声明, 此教程仅供学习,禁止用于违法行为。我这里整理了二百多节网络安全攻防教程和网络安全学习路线,可供大家学习,需要的三个气爆。大家好,现在我们开始 今天 p h p 基础知识的一个课程。那么首先今天我们的课程主要包括两方面,第一个方面是 p h p 的 基本常识,第二方面是 p h p 的 基本语法,基本常识主要包括 p h p 的 一个定义, p h p 的 它的开发环境以及它的运行环境。 p h p 的 基本语法包括 p h p 的 一个数据类型,包括它的一个常量,还有浮点型、整形制箍串类型。第二个是 p h p 的 一个变量。 第三个是 p h p 的 一个常用函数。那么针对于 p h p 的 基本常识,我们只需要呃了解就可以了。针对于 p h p 的 基本语法是我们今天重点需要掌握的内容, 那么这里在我们以后针对于 p h p 开发过程当中遇到的一些问题,我们可以啊参考 p h p 的 一个中文参考手册,并且到 p h p 的 一个官网下载 下载最新的文档。那么这里在 p h p 的 一个参考手册当中,呃共有一百八十九类函数,五千多个,一百八十九类函数,五千多个函数,那么其中我们开发当中常用的呃也就是一百个左右。 p h p 的 定义是 personal home page tools, 目前我们对 p h p 的 一个定义是抄文本与处理的一个字母缩写。 pp 本身是一种被广泛应用的开放源代码的多用途语言,在二零一七年最新的十二月份的编程语言排名,它处于第第九位的这样一个位置,那么针对于前两年啊,是有所下降。 ptp, 它是服务端的一个脚本,它返回的是 html 代码。这里与 php 竞争的语言主要是三类,第一类是微软的一个 c java 语言,第二类是 oracle 的 一个 java 语言啊,第三类是谷歌的一个编程语言。 那么这三类语言啊与 php 目前都是当前软件开发领域很流行并且被很多人使用的啊几种语言。 p h p 的 开发领域主要应用在服务端的一个脚本啊, 更多的是应用在这个外部开发,中小网站的一个外部开发。那其他两种场景,一是命令行的一个脚本,那命令行脚本它主要是直接在 dos 命令服务下执行 p h p 程序。另一种主要是一个 cs 客户端的这样开发, 但是目前呃应用场景较少,那么主流的还是呃服务端的一个脚本开发,一个外部开发。 p h p 的 运行环境在软件开发中,程序开发人员大部分是使用 windows 的 一个操作系统 啊,所以程序的开发人员需要熟练掌握 windows 下的一个 p h p 开发运行环境,那么在其他的操作系统上也可以进行开发。这里的操作系统就包括 linux, unix, 还有 mac 的 一个操作系统, 那支持 php 的 运行的一个服务器包括阿法奇 i s, n g x, 那 php 本身它是支持多种数据库的,那主流的包括 my sql server 和 oracle。 那 么这里我们首先先看一下 php 的 一个数据程序, php 脚本,它是以左监左右监控号,然后问号这种作为结尾开头,结尾的这样一个呃标签。 那么首先大大家先看一下当前的这个市力,当前的这个市力,首先我们以呃左肩公号问号 p h p 作为这个脚本的一个开头,那首先定义 a 变量,赋值六十六,定义 b 变量啊,赋值七十七。下面的语言我们主要是 一个对比, a b 两变量它大小并且啊较大的值进行输出的这样一个代码。我们这里给大家展,给大家演示一下它的这个程序运行之后的一个结果, 大家可以看到这里哦,我这边 php 的 一个运行环境,它是阿帕奇,那数据库呢?是用 my sql, 但是我们只是简单的重新运行,没有涉及到数据库。 这里我们将数据程序啊写入以 php 为后缀名的一个文件当中,在阿帕奇服务器进行运行, 命名为 p 零幺点 p p p 这样一个文件。我们访问当前页面的这个路径, 大家也看到这里它输出的是八十八,因为这里我定义了 ab 两个变量,分别是八十八和七十七,八十八显然是大于七十七的,所以说这里它输出较大的值就是 a 变量的值,这里我们将 a 变量的值改成六十六,那这个时候它是小于 b 变量的。我们再查看一下输出结果, 这里可以看到啊输出结果发生的变化变成七十七了,这里我们将七十七的值是赋给 b 变量,那么七十七大于六十六,所以说这里它输出的是 b 变量的一个值。 如何将这个 php 的 这个脚本语言与 html 页面进行一个融合呢?我们首先将 php 的 一个代码嵌入到 html 一个标签当中,那这里大家可以看到, 在 html 这个标签当中,我首先定义了一个 tab, 也就是一个表格在表格当中,在表格的单元当中插入 啊 php 的 一个脚本,也就是输出当前的一个时时间,利用这个 php 它自身的一个代码函数获取当前的一个时间,这个时间的格式包括年月日十分秒这样的格式进行当前时间的一个输出, 我们来运行一下当前的代码,看看它的一个输出结果。 这里我已经将代码写入到 p 零二点 php 的 这样一个 php 文件当中, 然后我访问运行, 可以看到这里已经将当前的时间系统时间进行输出了,并且在这个页面进行显示,是插入到当前表格 html 标签的表格的一个单元当中, 我们审查元兽,看看是不是将我们 p h p 输出的内容直接在 h t m 标签进行一个显示,可以看到这里直接将日期放到 tab 的 一个啊单元表格当中了, 这样的话就是将 p h p 的 它的一个脚本与 h t m 标签进行了一个融合。 讲完了前两个一个 php 的 一个失利代码,大家可以看到我们在 php 代码当中,每一个语句后面都会用分号结束本条语句,因为这个是必须的,否则它会报错。 那么针对于最后一行的代码,我们可以不用分号结束,但是建议最好写上 可以看到以下代码。这里首先首先我们利用右肩括号、左肩括号、问号 p h p 作为当前 p h p 脚本的一个开头, 然后我们定义一个内幕的变量,并将它赋值,就是 ppt 测试,然后用分号结束当前的这条语句,就说明我们当前这条语句已经结束,那么下一条语句就是输出内幕这个变量,同样用分号结束当前语句。最后我们用问号右降号结束 当前的一个 p h p 脚本,那么分号就作为代码风格符在 p h p 脚本当中应用起来。 那么另一方面就是 p c p 的 一个注目,因为注目本身对程序编辑也是很重要,针对于每一行代码,它的一个解释说明,不管是为了后续代码的维护,还是我们自己编辑时候功能的一个注目都是很重要的。那么针对于 p c p 的 一个代码,注目我们分为两种,第一种是单行的注目, 单行的注目主要是利用反斜杠,两个反斜杠后面加注目内容, 对字不串进行一个注示,那么块注示呢?这里我们用反斜杠,然后中间用两个星号,然后将注示内容放在中间进行一个注示,这是两种注示方式。

嘿,大家好,不知道你有没有好奇过,就是当咱们在网上随便点开一个链接,如果这个网站是 php 写的,那服务器的后台到底都发生了些什么?今天啊,咱们就来当一回侦探,把一个 php 请求从头到尾的生命旅程给它扒个一清二楚。 你看这个问题,表面上听着特简单,但实际上呢,他背后藏着的是一套设计的特别精巧,配合的特别默契的系统。行,废话不多说,咱们就这钻进去一探究竟,这就是咱们今天的路线图。 咱们先从一个请求是怎么诞生的开始说起,然后呢,看看这个五排是怎么搭建起来的,也就是 master 和 worker 这俩角色是怎么回事。接着也是最核心的部分,我们会深入了解请求处理的全过程,看看代码是怎么被执行,最后又是怎么被清理的。 最后,咱们再把整个过程串起来,回顾一下。故事的开头是这样的,一个用户,也就是你我在浏览器上轻轻一点,然后外部服务器,比如说 ngx, 马上就知道了,它会立刻打包一个叫做 fast cgi 的 请求发给 php fpm。 不过啊,要真正理解一个请求是怎么被处理的,咱们得把时间往前倒一点,在任何请求到达之前, php fpm 这个大管家早就已经把场地给准备好了。 这个准备工作啊,是由两种完全不同角色的进程来完成的,就像一个分工明确的团队一样。 好,现在让我们来正式认识一下故事里的两位主角。为了方便理解,咱们可以打个比方, master 晋城呢,就像是餐厅的总管,而 worker 晋城就是那些负责上菜的服务员, 你看他们俩的职责分工从一开始就特别清楚,这也就是他俩在起初化时候最大的差异。 master 进城,也就是我们的总管,他负责所有开张前的准备工作,他会运行入口函数 may 去读取配置文件,调用 fpm nate, 把各种核心模块准备好。最后呢,他会调用 fpm run, 一 口气创建出一批服务员,也就是沃克进城,并且管理着他们。 而沃克呢,他被创建出来的使命就非常单纯,就是进入一个无限循环,啥也别干,就等着客人的请求 好了。舞台已经搭好,服务员也已经就位。就在这时,叮咚!我们的请求来了一个沃克进程立刻就迎了上去。来,咱们跟着他,看看接下来会发生什么。在沃克政城的内部啊,处理咱们这个请求,主要就分这么四步, 整个流程可以说安排的是明明白白,旅程的第一站,也是最关键的一步。 worker 进城会调用一个叫 fcgi accept request 的 函数, 然后他就会在这里阻塞住,说白了,就是暂时下来,啥也不干,就专心致志地等着 ennis 把连接送过来。 一旦连接来了,整个流程才算正式启动哈。现在连接已经建立, worker 就 得搞清楚客人到底点了什么菜。 所以他会调用 int request info 这个函数,把这次请求所有的关键信息都收集起来,比如说要运行哪个 php 文件呢?网址里带了哪些参数啊等等。 那么 worker 是 怎么知道这些信息的呢?其实啊,都是通过发 cgi 协议传过来的,这些环境变量,你看 script fill name 就 告诉了他要执行哪个脚本文件。 quirastream 呢,就是咱们平时在 u i l 里看到的问号后面的那些参数。 worker 就是 靠解析这些信息来准确理解任务的。行信息都收集齐了,接下来呢,就该启动真正的 php 核心引擎了。 php request startup 这个函数啊,就好像是按下了汽车的点火开关儿,它会为咱们的代码正式执行做好所有最后的准备工作。 你可以把这一步想象成是引擎启动前的一系列自检程序。 php request startup 会做很多事情,比如激活最核心的增登引擎,把所有需要的模块都加载进来,设置一下脚本最长能跑多久等等等等, 总之就是确保万无一失。激动人心的时刻来了,现在沃尔克进程会调用 php execute script 这个函数, 他会根据之前拿到的 script file name 信息找到那个 php 文件,然后把它郑重地交给 zen 的 引擎去处理。 对,没错,这个函数调用就是整个流程的最最核心。咱们写的那些业务逻辑,不管是复杂的计算还是数据库查询,全都是在这一步由 zen 的 引擎来编辑和执行的。 也就特别清楚地展示了 phpfm 这个进程管理器和 zen 的 这个语言引擎之间是怎么完美分工协作的。 好了,代码跑完了,但是等等旅程可还没结束呢。接下来咱们得看看脚本产生的结果是怎么返回给用户的,以及 worker 在 完成任务后又是怎么打扫战场的。 咱们在代码里写的任何输出,比如说一个简单的 echo, 它可不是直接就飞到不流器里的,它会先经过好几个内部处理层,通过下 c p s c b i i u b u b write 和 f c g i write 这样的函数层层打包,最后变成 fast c g i 响应,再发回给 n g x。 脚本执行结束,响应也发出谢了。这时候,一个极其严格的清理程序就启动了 p h p request shut down 这个函数。它的任务就是把这次请求所用掉的所有内容啊,资源呀,全都释放干净。 而且这个清理工作啊,做的是相当彻底,你看,它会去调用咱们注册的关闭函数,销毁所有对象,清空缓冲区,把超矩变量,比如 subget, subpost 都给干掉,最后再把 zen 的 引擎也给关了。 这么做就是为了确保这个 worker 进程能恢复到一个全新的干净的状态,随时准备处理下一个请求。这也是 php fpm 能长时间稳定运行的秘诀。 哦对,顺便提一下, phpfm 里还有一个特别聪敏的设置叫 max requests, 你可以给每个 worker 设一个退休任务量,比如处理完一千个请求之后,它就自动下线了,然后 master 总管会立刻派一个新的 worker 顶上,这是一种非常有效的从根本上防止内存泄露的机制。 呼,好了,我们刚刚完整地陪着一个请求走完了它的一生。现在呢,咱们稍微退后一步,再来回顾一下整个履枪中最重要的那几个环节。 所以啊,整个故事的关键就是这条定义的清清楚楚的函数调用链儿。从最开始的 fgi accept request 负责接客,到 initial request info 负责点菜,再到 zend execute script 负责炒菜,最后 php request shutdown 负责打扫, 正是这个环环相扣的链条,保证了每一个请求都能被高效可靠的处理。你可以把这张图就当成是今天内容的一个核心要咱们今天聊的这些技术细节,其实最终都指向了一个非常重要的设计思想,就是总管和服务员的模式。 master 进程只负责管理,而沃克进程呢,就专心做好一件事,做完就下班,甚至可以被随时替换掉。正是这种职责分离的设计,才让 php 这样的系统能够在面对海量请求的时候依然保持稳定和高效。 最后咱们也留下一个问题一起思考一下。了解了 php fpm 内部这种精巧的进程管理和清晰的生命周期设计之后, 我们能不能把这些思想借鉴到我们自己开发的项目里去,去构建更健壮、更高性能的系统呢?好了,今天就到这里感谢各位的收看。


完整商业级源码,拿来就能做二次开发或直接交付。医院不良事件上报系统源码开发语言为 php, 目前已在多家医院成功运行多年。系统为自主开发,无任何版权风险。 系统流程贯穿医院整个安全不良的管理,从上报审核、原因分析、预防措施、整改、效果跟踪等,采用国际 jci 和三甲标准开发,覆盖全院全部科室及所有可能发生的不良事件。结构化内容表单非常齐全,基本上只需勾选五分钟内即可完成报告填 写。


本文主要讨论 php 异常的分类、抛出和补货,以及如何利用 try catch 优化代码健壮性。深入理解 php 异常处理机制是每个开发者必备的技能,它能帮助我们编写更为健壮和可维护的代码。 php 异常主要分为两大类,内置异常,如 the exception for 数据库错误和自定义异常。通过 pro 语句创建,内置异常通常在遇到预期内未遇见的问题时自动触发,而自定义异常则允许我们根据具体业务场景设计更精确的错误处理。 抛出异常是通过 pro 关键字实现的,他会中断当前执行流程,并将控制权转移给最近的 catch 快。在抛出异常时,我们可以附带一个自定义的消息,以便于调 模式和问题定位。例如,捕获异常则是通过 tri cash 结构来完成的。在 tri 快中,我们放置可能引发异常的代码,而在 cash 快中,我们处理这些异常。如果 tri 中的代码没有抛出异常, 那么 cash 快将被跳过。这使得我们能够对特定类型的异常进行单独处理,提高代码的灵活性和响应性。 php 的异常处理机制还支持多层嵌套的 catch 快,这样可以根据异常类型的不同级别进行逐步细化的处理。此外,还可以使用 finally 快来包含一些必须执行的清理操作。无论是否发生异常, 这些代码都会被执行。通过合理运用 try catch, 我们可以避免程序因为处理的错误而突然终止, 提供更好的用户体验。同时,异常处理也有助于代码的模块化,将错误处理逻辑与正常业务逻辑分离,使得代码更易于理解和维护。总结来说, php 的异常处理机制是一个强大的工具, 他帮助我们优雅的处理程序中的错误,提升代码质量,增强程序的稳定性和可靠性。熟练掌握并灵活运用这一机制是每个 php 开发者提升编程技能的重要步骤。

湖北的同学注意了,毕业论文想要一次顺利通过,这六大核心要求大家一定要牢记。第一,排版格式必须严格按照学校标准执行,完整结构依次为封面、原创承诺书、摘要与关键词、 目录、正文、参考文献、字体、行距、页码、页眉、页脚等细节都要规范统一,确保符合院校提交要求。第二,查重环节务必高度重视。湖北多数高校要求重复率控制在百分之二十以内,部分院校要求百分之十五以下。 学位论文的审核标准会更加严格,务必保证论文原创性。第三,小题要精准聚焦,切勿偏题命题宁小勿大,尽量具体贴合。专业写作过程中要紧扣主题展开,避免内容偏离方向。 四、字数必须达到学校规定要求。论文字数属于基础硬性指标,要严格按照要求完成,保证内容完整充实。第五,内容逻辑清晰。理工科具有数据支撑权威,结构严谨,条理通顺。理工科专业必须包含真实有效的实验数据,除表及工, 确保论文具备科学性、说服力。第六,学位论文审核严谨,仅有一次修改机会。学位论文要求更高,审核更严,湖北很多高校仅提供一次修改机会, 一旦审核不通过,将会直接影响学位证书申领,此前已通过的学位、英语学位课程成绩也将持续效力。最后提醒大家,现在湖北多所高校已使用 ai 检测与论文视频, 千万别靠 ai 随便生成,糊弄,真的过不了。我这边湖北省所有高校的论文模板全都有格式排版、封面目录、承诺书这些直接套用就行,有需要模板或者想要一对一论文指导的同学都可以直接私信我,我来帮你一次搞定,稳稳。

我们下一行呢,我刚已经分析过了,它有一个单元格, 第一个单元 格, 第一个单元格,这个内容呢,比方说我们设置一个什么选择框, 而目前呢我们还不太明白如何来设置一个选择框,所以说呢可多选一下, 既然多选的话,就可以设计一个复选框,复选框呢我们等一下最后来完成添加。那么这种我们发现这个表格呢会产生一些问题,我们把边框给大家做一个显示, 发现这个表格呢确实会产生问题,那这边的行和列就产生了问题,有什么问题呢?很简单,就是因为我们第一行有两列,第二行一列,第三行一列,这样的话呢就会导致行列的不等。那我们刚画图的时候已经跟大家做过分析,这个表格呢 有这样的一个状态,那么这个单元格你一定要注意,它需要进行单元格合并,而且它合并了三行,请注意,所以在这个位置呢,一定要合并三行,那么行的合并怎么写呢?叫做 word 版,而且合并了几行呢?三行这种再次刷新情景出现,这样的话呢,我们就符合了我们刚刚所表达的一个意思。 好,我们加入图片,图片的方式呢,我已经说过了,通过 m g 这个标签来切入,我们可以找一下这个图片的位置,你麦子打开,在 face 下面有一些图片,我们给它来使用一下,有一二三四, 下面 fast 下面这是一个路径,写一点加 f。 这种刷新。这图片呢产生了我们这个表格的话呢,我们也可以怎么样设置它的一些效果,比方说可以设置一下, 设置为五,设置为一 t t color 设置为黑色, 其他地方呢,我们都是有白色 的花型,这就搞定了,方法呢还是比较简单, 那么这是这行当中的第一列就完成了,当然你也无法复制,可以设置第二个单元格,那就会再产生,你可以再产生一个单元格,第三个单元格,然后就会有三个单元格, 那么这三个单元格目前问题就来了,因为这是三列,上面这个地方呢只有一个单元格,所以呢它会是这样的一个状态, 因为下面呢有三列,所以这一行呢,如果要进行一个单元格的话,就要合并三列,合并三列,所以我们刚看到这个文本,它好像不在居中了,这就是因为呢,它整体采用在这个位置,所以你要把三列合并,我们刚说的是行的合并,如果要实现列的合并的话,我们可以使用 pos 板, 刚说合并几列,三列双星过来就没有问题。 ok, 这些文本的话呢,更需要来做出修改,比方说 你这个图片呢,也可以根据需要来调整,然后这里有三 有宽度,然后我们这里有百分之百的方 式让我检测一下, 那么这个地方关于这个选择怎么样来设置呢?这是表单当中内容,我们可以提前跟大家说一下。关于这个汇编框,我们后面会跟大家说一下,使用 tab 为 checkbox, 然后我们设置为 好行,那么呢就会产生这个汇编框, 那么由于这个互选框呢,它是两个,或者你也可以用中光的方式表示物体的变化,这样的话呢我们可以多 选其他的做法呢是一样的,其他地方的做法是一样的, 好,第一行就搞定了,那么第二行如果你需要更多的话呢,就这样一个做法, 用实际情况呢,把相关的内容做出修改就可以了,这样的一个步骤呢就可以完成,可以进行多选。一般呢最后呢我们可以把它这里有一个什么提交的动作, 提交的话呢,你可以比方说我们把它设置在这个表格里面呢, 这个地方 呢你可以设置一个提交按钮, 然后呢我们做一个取消 提交按钮呢,我们这边还是给大家选一下,从后面会缩起,可以选稍后命令来设置 按钮,用来设置这个按钮上的文本, 然后我们就可以这样提交了,选择之后就可以完成这个按钮, 这也是我们通过这个表格来完成的一个极其简单的一个布局,而且形成了一个表格呢是可以实现的,没有问题, 这个部分呢需要呢不断的这个练习,这样的话呢表格的相关的标记呢和属性呢就会特别的熟悉, 嗯,这就是关于表格的一个标记的使用,应该说呢不会有太难的部分,我们这个地方只需要我们掌握他们每一个常用的属性就可以了,完成一些常见的这个页面的布局和数据的格式化啊,这样的话呢,我们这个表格呢就可以 轻松的玩转。 ok, 由于时间关系呢,这个表格这个部分呢,我们这节课呢就会给大家讲述到这里,谢谢大家,再见。

大家好,从今天开始呢,由我来为大家录制一套易懂易学,可操作,实用性强的 p i p 视频教程。我叫秦勇,非常愿意和大家交流与讨论有关 p i p 的 点点滴滴,那么分享需要勇气,分享更是一种快乐。那么在学习 p i p 之前呢,很多朋友或同学呢,都会有如下的一些疑问,比方说,很多同学会问起, p i p 是 否容易学 习, p i p 是 否有前途? p i p 能不能发展? 那么基于这么几个问题呢,我想和大家分享以下这么一些观点。首先呢, pap 呢,在各大互联网公司呢,有着广泛的应用,比方说谷歌,百度、网易,新浪,阿里三六零,腾讯、雅虎、金山土豆,优酷、前程无忧等等。 那么这里需要指出的是, pap 支付呢,就曾就职于雅虎公司,那么各大的招聘站点呢,也有 pap 的 大量招聘信息,比方说我们看一下前程无忧,我们发现了 pap 程序员的招聘信息呢,也是非常之多。 那么目前呢, p p 人才需求量极大,并且呢,国内 p p 人才呢,储备不足, p p 在 很多的语言排行榜上呢,经常被授于最受欢迎的外部开发语言。那么 p p 相对来说呢,入学门槛低,互联网业内上升最快的呢,很多呢,也都是 p p 开发人员,行业竞争小,社会需求旺,发展前景大。 那么 p p 在 外八零零,云计算、互联网、移动互联网等方面呢,也将发挥着重要作用。 p p 呢还具有良好的安全性,跨平台性,易学性,执行速度快,开源免费。那么以上种种信息呢,都反映出了 p p 呢,目前还是非常给力, 那么在学习 ppt 的 时候呢,我们需要呢有一些准备工作,那么在学习 ppt 的 时候呢,我们得首先了解有关 ppt 方面的一些网页编程基础,那么这里面呢,我们给大家列出一些,比方说 html, 首先呢是我们需要了解的, 其次呢 css 呢,我们更要非常熟悉,再就是有关加速配的 gs 呢,我们也要怎么样还要掌握有关页面行为的一些变动操作。那么有关 html 呢,我们是表达为超文本标记语言, 那么它主要是负责页面的内容,或者说负责页面结构。而 css 呢被称为叫做层叠样式表, 那么它是主要负责页面的表现或者说页面效果。那么 g s 呢,我们也说过它是一个客户端交互语言,所以它主要是负责客户端交互,那么我们也通常把它称为页面行为。 那么首先呢,我们就得了解以上的相关网页基础,那么呢,很多同学呢,在学习 p a p c s 或者 g s 的 相关内容或者有所涉及,如果大家对这部分的内容呢已经比较熟悉,那么可以忽略我们现在所讲的相关内容, 那么在此呢,我还是以最快的速度呢,和大家一起来复习一下有关 html, css 和 js 方面的相关内容。 那么关于 html 呢,抄文本标记语言呢?我们在这边呢给大家列举出我个人认为呢最为重要的几项内容, 第一是有关 html 的 基本结构,其次是图片的使用链接标记列表的使用,以及表格和表单,还有就是关于框架的使用方式。那么以上几点呢,我们会比较快的速度呢,为大家来一一的罗列一下相关的内容。那么我们首先来看一下有关 html 的 基本结构, 所谓 html 就是 抄文本标记语言,它主要是负责页面内容结构的一个编排,所以呢它就是一个静态网页, 比如说它是一个静态页面,那么静态页面的话,在我们词典上的表现呢,就是点 html 或者点 html 作为扩展名的文件,那么我们要新建出这种文件也非常的简单,我们可以右键新建文本文档,修改其扩展名为 html。 比方说一点 html, 或者是 这时候呢,我们就可以对这个页面进行浏览,目前呢当然没有内容了,如果有内容的话就见鬼了,因为我们目前还没有对他做任何内容的编辑,那么很多同学会问这样的一个页面如何来编辑他的内容,对于这种文本型页面内容的编辑呢,我们可以使用文本型编辑器来打开它,我们使用的工具呢可能也就比较 多了,比如说最单纯的记事本就可以完成编辑,其次呢,你也可以使用网页的排版工具 vivo, 或者使用一个编辑器叫 add plus, 也是可以的,或者使用呢这个 v i m 这种编辑器,或者使用 node p a d 加加, 或者使用我个人最喜欢的一个 autodesk 编辑器,都可以来对它的内容进行编辑。而且我建议大家呢,在学习语言本身的时候呢,尽可能使用纯文本的编辑器来进行学习,这样的话呢有利于我们对于标记和代码的掌握,那么不要过分的依赖,依赖这种格式化的编辑工具, ok, 我 们接下来呢就以 u e auto a 的 打开它,以左边镜右镜打开, ok, 我 们首先来说一说 html 的 基本结构,在 html 的 标记语言里面呢,大家应该比较清楚的是,它是以 html 开始到 html 结束的,那么整个页面呢,分两个部分,一个是 head 部分,另一个部分呢是都里。 那么 head 被称之为页面的头部标记, body 呢,自然就是页面的主体标记, ok, 我 们把它保存,这是一个 h 电脑文件的基本结构。然后我们目前刷新依然是没有内容,因为我们的 body 主体部分呢,目前还没有编辑任何的内容,比方说我们在里边随意的写一点内容,具备人才需求量 极大,并且呢国内具备人才 保存,那么我们这边刷新这个内容就会显示出来。那么很多人会问这个 head 头部标题可以编辑什么样的内容?比方说我们可以设置页面的标题,可以使用 type 标题 标题,比如说我们写一下 app, 找好工作,保存好,我们这边关注一下这个页面的标题栏,刷新过来,我们这个页面呢就有了标题文本。那我们非常建议大家对一个网页呢,一定要设置标题,这样的话呢,不仅有利于我们页面的浏览,更重要的是这个信息呢将被搜索引擎作为一个非常重要的一个关注。 那么其次呢,当然在嗨的部分呢,你仍然可以写一些 metac 源信息,你比方说可以设置该页面的关键字,那么关键页面关键字也当然是搜索你非常关注的一个内容, kwest, 那 么它的关键字我们写在 ctrl 的 这么一个属性当中就可以了,比方说我们输入一些关键字撇撇,再加上撇撇, 那么各单词之间呢,可以使用逗号隔开,比方说学撇撇,培培, 这样就可以了,这样的话我们这个页面的关键字就可以设置完成。当然页面的关键字呢,是不给浏览者查看,浏览者在页面上是看不到的,它是在原码当中体现你这个内容呢,会被搜索,已经极大的关注我们。其次呢,我们也可以设置这个页面描述信息, 那么也是使用这样,只不过这个地方呢,我们使用 excel 就 可以了,内容依然可以设置在 open 里面啊,这不一懂一学 好就可以了,这是网页的描述,当然我们还可以设置什么呢?比方说我们 h t c p 杠 eq u i v, 这里面呢,我们可以设置 new fresh, 这可以用来设什么呢?可以设置页面的自动刷新,你比方说五秒 五的话,单位为秒了,他就是说五秒呢,该页面呢会被自动刷新一次, ok, 我 们来刷新看一下是不是这样的一个结果,就说现在我不做手动刷新,他每个五秒呢,页面会自动加载一次,那么如何我们让他体现出这样的一个自动加载呢?比方说我们下面再说一段文本 cp 目前依然返 回保存, ok, 我 们等待五秒, ok, 那 么这个内容呢,在我们没有刷新的情况下,它已经展现出来,表明了这个页面呢已经自动完成了刷新。 那么大家会发现这个内容呢,我在源码当中呢,是分行来编辑,但是在这个地方呢,它是在同一行显示,所以我们这个地方没有给出换行的标记,换行标记是 b 二, b 二就可以了, 这时候已经出现了换行的状态,那就是关于换行标记。那么如果你要实现段落标记,我们要使用 p 标签, p 标签是一个段落标签,这样的话呢,就是分为两个段落,也是很简单的, 我们这个 b 耳,我们发现了它这个地方呢,有一个结束符斜杠,因为撇 p 当中呢,关于 html 这个部分呢, html 超文本标记呢,它一般呢都是成对出现像这种单标签的,如果我们要表达结束的话,在右括号之前呢,加一个斜杠就可以了,也就是说我们之前这种标签也可以加上 写到你完成结束,这样的话呢,这个编辑呢就更加的符合规范。那么这个 p 标签呢,它是可以有什么呢?可以有结束标记的发生,而你不给这个结束标记呢,也不会有致命的错误,因为呢,下一个段落的开始就是上一个段落的结束。 其次呢,这个 mac 信息,比方说我们还可以设置一个,也是设置为 refresh content, 依然第一个弹出设置为时间分好,第二个设置为 ui, 这样的话,它可以隔多少秒之后呢,自动跳转至某个页面,比方说我们让它五秒钟之后自动跳转至百度,我们等待五秒, 这时候呢,等,我们等待五秒之后呢,这个页面会自动转到百度的页面,这就是说呢,它已经完成了自动跳转。所以我们刚说的 keyword 是 页面关键字, description 是 页面的描述, refresh 只设置一个数字表示自动刷新,如果 refresh, 我 们设置一个数字,并且设置 ul, 就 会完成自动跳转的功能, 这是有关 html 基本结构,这边我们给大家分享的内容,应该说呢还是非常的简单,其次呢这个 html 当中呢,我们如果要使用图片的话,一定要掌握图片标记的使用,那么这个图片标记呢,我们给大家演示一下。 图片标记呢,我们可以在这边使用 rng 标签来使用,那么图片自然要指定图片的位置,我们可以使用 sos 这个属性,那也就是 s r c s r c 这边呢,我们可以找到图片的位置,那么找图片位置,你一定要确定本页面的位置,那么图片呢,就是以当前页面作为找寻的基点,所以如果当前页面在这个目录下,那我们找图片,如果在你麦子文件夹下面的话,比方说我找百度这个图片的话,我们应该怎样写它的路径呢?我们就应该这样来编辑了,麦子下面的百度,点击 f 保存, 就是我们再次刷新一下过来,这个图片呢就可以加入到我们的页面中,那么为了避免过快的跳转,那么上面的时间呢?调整的大小,调整的大小 发送一下。好,没问题,这是关于图片的加入啊,当然 mg 这个标签呢,它也是没有杠 mg 结束标记的,如果你要结束它,跟上面一样也可以加入一个斜杠来表达它的结束,这样啊,更符合 w 三 c 提出的外部标准的编码方式,而不加呢,我刚已经说过,也不是致命的错误,仍然可以被正常解释, 那么浏览器有这样的一个啊解释的能力,所以呢也不用过分的担心,这是关于图片标签直接在页面上显示的一个做法,当然呢我们除了这个写法以外,还有一些属性也同样介绍给大家,比方说图片我们可以使用一个 out 来设置它的这个鼠标悬停提示文字,比方说我们这这是百度 放心,当我们鼠标悬停的时候呢,我们发现呢它会有提示文本,而且当我们这个图片如果不能正确加载的情况下呢,这个地方呢,这个文字也是会显示的,如果你没有这个文字的话,他们会导致什么信息都无法查看到,所以这样的话呢,信息就是全无,这样会导致一个盲群。一般我们建议大家加上 alt 属性以获得相关的信息。 ok, 我 们把这个呢如果正确显示的话,鼠标悬停的时候呢,会有这么一个文字提示,当然这个图片呢,除了这个属性以外,你也可以给它设置什么呢?比如说宽度 y 这个五百五好,然后呢图片就可以把宽度设置为五百五十像素,那么当然你也可以指定它的高度了, 如果高度一百五好放心。当然一般的话呢,我们不建议呢这样来设置它的高度,如果你设置的不合适,就会导致这个图片的变形,所以我们只要设置宽度,让它等比例的这个说法就可以了,我们这是关于图片的一个基本使用方式。 其次呢我们来说说链接吧,链接是我们网站中的灵魂,一个网站呢有大量的链接文本,所谓链接就是通过鼠标可以直接点击去往这个链接所设置, ok, 我 们放好,你选, 比方说我们这个地方有一个文本百度,当我们刷新的时候呢,这个文本仅仅是个文本,它并不是一个链接, 并不是一个链接,如何让这个文本成为链接呢?也算简单的,链接的标记叫 a 标签,它是结束标签的杠 a, 那 么仅仅是这样是不够的,因为你得设置这个链接点击之后的目标页面,那么 h i f 就是 用来设置链接点击之后的目标页面,那比方说我们可以设置百度的地址, 那么设置远程地址的时候,一定要使用它的绝对地址,也就是说从 http 冒号杠杠,也就是它的协议名的位置开始编辑,就这样才可以正确的点击到对应的目标位置。 换句话来说就是说你如果从三 w 位置开始写,这是不对的,这样做的话点击是找不到的,因为它是以当前位置来去找这么一个位置,所以这个协议名是不可以丢的。 点击,那么我们刚看到这个链接点击之后呢,它会覆盖当前页面,如果你不希望当前页面不覆盖的话,你可以在新窗口中打开目标页,那么怎样来设置呢?我们可以使用它盖的这个属性设置为下划线不烂就可以了。刷新 点击过来,它会在新窗口打开,那么当前页面会被保留。关于新窗口打开的操作,默认为当前窗口打开正常了解就可以了。那么链接同样也可以设置为 type 为点击进入百度, 点击进入百度搜索,好发现,当我们鼠标悬停的时候呢,我们就会发现有一个鼠标的提示文字,点击进入百度搜索,点击 这是关于链接的提示文本,那么这个时候呢,其实也还是经常的比较常用了,很多时候我们发现新闻站点当中呢这个标题如果文本不能完整的显示呢,都会在这个悬停文字上完整的显示,你告诉用户呢,这个标题的完整文本就是可以通过来设置这个抬头来进行内容的显示, 我们这是关于链接。那么第四呢是关于列表的使用列表呢,希望大家呢也是要掌握的,因为我们在布局中呢,经常会使用到列表列表这个内容呢, ok, 我 们在这边呢给大家新建一个页面来演示吧,不在当前的页面来操作,以这个为副本,二点 h t m 打开它。

大家好,我是秦勇,我们今天呢继续学习 p a p 之 html, 那 么上一次课呢,我们为大家介绍了有关 html 当中的表格的使用,那么这节课呢,我们来说一说有关表单的一二三。 在这个内容里面呢,我们由于需要学习表单,所以呢,表单呢,首先我们得使用什么呢? form, 表情, form 呢,有这么几个属性需要设置。首先第一个表单的名称,比方说我们把它设置为一, 还有一个 master 用于表达表达的提交方法。提交方法呢,有两个,一个是 get, 另一个是 pose, 如果没有特别需要,我们建议使用 pose, 因为它可以支持大文本处理的提交,并且呢这种 pose 的 提交方式呢,更安全。 第三个属性呢,也是我们需要设置的 action action 呢,表达我们最终提交给服务器的一个处理程序页面地址。那比方说呢,我们最终处理到 f 度点 p b 这个程序来进行表达处理,那我们是需要的, 这样的话呢,我们这个表单呢就书写完毕了, ok, 那 么表单呢,我们得学习有关相应的表单元素,比方说我们第一个学一下文本框,我们最常见的一个表单元素了,文本框的标记呢, excel 设置为 x 就 可以了,这就是一个文本框,这就是一个文本框。 好,我们这边呢给它做左对齐吧,当然默认情况下也就左对齐。 那么这个文本框呢,为了更好的提交给服务器处理,那么我们要获取它的数据,怎样来获取它的数据呢?可以提供一个 name 名称,比方说我们设置为 ustring, 用来表达用户名的话,我们可以设置一个 name, 名称 好,它就有了名字了。将来我们在 ppt 程序当中就是通过这个 name 值来获取这个文本框的值,那么它的值呢,可以通过弯流来进行设置,一般呢,文本框如果为空就可以把它写进来,这样的话它就会有一个默认值出现。好, 再其次呢,你也可以设置它的什么 size 属性,比方如果你觉得这文框短了一些,你可以设置长一些,这样的话这文框就很长了。其次,如果你觉得这文框的字数需要限制的话,我们也可以设置一个属性,叫做 max, 比方最多输入十个字数 好刷新,所以说我们在说的时候呢,超过十字就无法接受了,最大这个长度的一个设置,甚至你将这个表单的这个文本框内容还可以把它怎么样,它容易只读会到命,这样的话这个内容就不能被修改,不能被用户做修改,但是我们可以通过程序的方式来进行修改是没问题的。 这是一个文本框的一个最基本的使用,就是这样很简单,好比方说我们再来一行,做一做其他的阅读。 除了文本框以外,另一个就是密码框了,也是极其常见的。密码框呢,和文本框的区别就在于把这个 type 直接设置为 pass word 就 可以了, name 相应不会修改,比如说添加为一默认值,你也可以设置啊,其他都是一样的。所以密码框呢,也就说它的这个文本呢,是不可显示的,不可显示 其他的值都是一样的啊,就会用密码框。密码框完了之后,我们来说一下单选,单选是我们比较常见的一种方式啊,比如说单选的值设置为多少呢?设置为 rate 量作为 sex 吧,我们的性别, 当然他也需要设置一个最终沉交给程序的一个值,然后设为蓝,这样的话呢,这个选中它就表示蓝被选中了,但是这样的话呢,用户呢,就不太清楚这个选项的意思,所以我们一般都会在这个后面标注一个文本,但这个文本呢,不一定要和 y 值一样,不一样也是可以的啊,当然一样也是可以的。 废话,那么这个地方呢,你比方说我不一定要写蓝,你可以随便写,比方靓仔,我们既然是单选,我们一般呢会有多选一的情况,所以如果要再有的话,你就再继续加一下这个写会预约, 这样的话就是二选一了。但是你要强调的是,这个 lamb 一定要保持同样的一个曲值,如果你两个指不同会怎样呢?因为这是一个二,你会闹笑话说 lamb 选中之后呢,一不小心选了靓妹,就说两个就会同时被选中,因为他现在已经不是同一个单选组, 所以呢,同一组的话,切记他的链的曲值一定要保持一致,这样的话才可以在一组当中保持单选的状态。有的同学会发现很多的选项呢,有的会有默认选中的情况,也是可以做到的,我们可以加上一个切口这个事情,这样的话呢,蓝就会被默认选中了啊,所以很简单,就是关于单选的一个事情。 完成了单选之后呢,我们显然会要讲一讲多选,这个多选呢,是让我们在上节课里面呢也提到过啊,多选的 type 是 什么呢? check box 就 可以了,那样呢,自己来设置,这个设置为透明爱好,这个爱好就叫上网,其他不选, 这就会产生一个多选框。那么这个外面的文本呢,可以随意设置, 可以加入多一些,比如说由于它是一组,我们建议使用中空号来表达这一组的这个状态,然后那个曲值也保持一致。游戏 好,那我们双击看一下,这样就可以实现操作。当然如果你希望把某项默认选中也是一样,同样可以加入一下,加入他,这样的话这两项呢会默认被选择, 所以需要来决定是否做成默认选项这个关系端。多选,除了多选以外呢,我们也可以设置什么呢?比如说我们接着再设置一个 文件,选择的一个情况,文件域如何进行文件上传,我们可以判断为 file, 这样就可以了,同样呢,比如我们改为 file, 其他的窗口 放心,那么他就是会提供一个浏览按钮,打开一个要加载文件的对话框,让你选择相应的文件,最终我们进行上传,你这个上传呢,要提交服务器,而且服务器需要编辑上传程序,那我们在后面呢,也会陆续的在 pk 中给大家做介绍。普通按钮呢,就是八图 内容呢,也可以设置一下,关键呢是它也是转换按钮上的文本。 普通按钮长啥样?我们看一下。普通按钮就是这样的一个状态,所谓普通按钮就是没有任何事件的按钮,以后点击之后是没有任何响应的按钮,成为普通按钮,正因为它没有任何的事件,所以它才变得非常可爱,因为我们可以通过自己的能力让它发挥我们需要它发挥的功能。 除了普通按钮以外,我们刚刚说过还有图片按钮,如果你觉得这不好看,你可以使用图片按钮按设置为 win 即可。 那么既然要这样的图片,那肯定要给设计做图片的历史。好,我跟大家说一下,比如说我们找一个图片式的按钮, 比如说这样的一个图片,这样的话就会形成一个图片式的提交按钮,这样的话,首先呢它从这个外观上会非常的多彩,因为图片的话我们可以根据自己的需要来制作,那么它的功能呢?和提交按钮默认的是 java 和这个功能是一样的 发生,那么它俩功能是一致的,都可以进行表达。提交最终会提交给服务器程序,这个也是一样会提交给服务器程序,所以它们两个功能是一样的,只是外观表现有所不同。 接着我们在这个地方呢,再给大家说一个隐藏率吧,所以隐藏率呢就是用户呢是不可见的一个表达元素,黑的一般呢我们得设置它的量,取了它的值,比如说我们这个地方有个 bug id, 它的值是多少呢?根据你的需要来设置,比如说我们目前的值是幺五八刷新,那刷新目前这个地方是不可见的一个状态,但是最终如果我们进行整个表单提交的时候呢,这个幺五八这个值呢会随着这个表单一起停交给服务器程序, 也叫下拉菜单,下拉菜单,那下拉菜单就不再使用这个用户的标记了,它使用的是乱放, 既然是像刚才,那么它里面会有很多选项,这个选项呢,通过 option 点击设置啊,就可以了,不然它也应该设置它的 name, 比方说我们这个地方呢,设置一下,这个就叫做 language, 我 们这个部分呢,比方说我们第一项就是我们选择零对齐的 c 三零零等一下可以提示。第二项呢,就是它的选择项,比方说啊, s t m l c s 方向,这就是一个 c s s 方向,这个状态也是比较常见的可供选择。 我们这边呢,同样可以设置一个默认选项,有时候呢我们可以改变这种状态,那么这个地方呢,显然不使用啊 check 啊,应该使用什么? check 表示把它选中,刷新,果然 pp 就 会被选中,当然它不改变它在列表中的顺序啊,在什么样的位置还是在什么样的位置,只是把它作为默认选择的一个状态,让大家想清楚。 那么这个地方需要注意的就是,那么他选择了这项之后,他的值是多少,所以我们也可以设置他的值,那么他的值就是乱用了,我这项就是没有选,可以根据需要随意的设置某个值,一共自己来判断就行了。这个你比方设为 h t m, 其他呢,你需要来设置 好。那么当我们表单做出提交之后呢,那么这个内容呢,就可以取得它的这个弯流值了,取的是弯流值,而不是这里展示的这个文本,要注意,所以这个弯流值的设置尤为重要,那最终会将这样的一个弯流值提交给图 形,那么这是关于下拉菜单,那么如果我们希望多选怎么办呢?这个是不能多选的,那只能进行单一的选项,如果我们希望多选,我们可以把这样的一个菜单呢,改变一个状态,就形成了一个列表框, 这样这个链不能和上面有重复的情况一个角,那么这边呢,我们可以再加一个属性,就让它成为一个什么列表框,一个四四是什么意思呢?就是默认它这个地方可以显示出四项,其余项呢,可以通过滚动条的方式来进行滚动显示,这一项呢可以把它删掉了。 好,这一项呢可以看成其中一个,而目前的一二三四五六七八八项,你有八项都显出来,而目前的一二三四五六七八八项,你有八项都显出来。而默认情况下还是怎么单选? 那有的朋友可能会觉得是不是按下 ctrl 键我们就可以进行多选了?依然不行,因为默认情况下,它和这下下菜单的状态是一样的,就只能进行单选。如果你这个时候可能需要听多选的话,我们再加入一个属性,这个属性叫 mark, 表达可多选的意思发生这时候我们按下 ctrl 键就可以直接多选了,这是一个多选的列表框。 最后一下呢,我们在这边呢直接给大家再写一个文本域,这个大的文本域呢,它是 every go 就 可以了,这个文本默认呢,看起来呢还是比较小,所以我们得设置它的属性,比方说你可以设置首先内容得设置到名字,比方说我们需要使用 message, 那 么它的行数 words, 比如说我们设置十行列数,我们也可以来设置 pos, 比如说发生的 发行,然后呢这个文本就可以 了,所以根据需要编辑文本的编辑 ok, so easy。 嗯,如果你希望它里面呢默认有一个文本,那么你可以设置默认,但是你要注意并不是在这方设置的 one 六了,它的指就是在这个标记和杠标记之间来编辑就行了。然后请留下您 宝贵的界面,我用 好刷新图案,这是它的一个默认文本的一个设置,就是在开始标记和结束标记之间来填写就可以了,也是非常的简单。