版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称《PHP项目实战》 教材:PHP网站开发项目式教程技术:PHP+MySQL任务1初识PHP目录1-1理解静态网页与动态网页及运行过程1-2初识PHP素养要点分工合作互利共赢为民服务任务1-1理解静态网页与动态网页及其运行过程内容目标1.1.1静态网页及其运行过程1.1.2动态网页及其运行过程1.1.3动态网页与静态网页的区别需要解决的核心问题什么是静态网页?静态网页如何运行?什么是动态网页?动态网页如何运行?动态网页与静态网页的主要区别有哪些?1.1.1静态网页及其运行过程1.静态网页静态页面都是用HTML+CSS+JavaScript(或JS框架)编写的扩展名为.htm或.html的HTML文件静态网页部署在服务器,服务器收到浏览器发出的页面请求后,需要将整个页面的代码及页面运行中需要的素材一起打包,发送给浏览器,并在浏览器端执运行。静态网页的特点:网页中显示的内容通常不会因人、因时不同而不同,即只要没有重新设计或修改网页,任何人在任何时候浏览页面,内容都是一样的。52.静态网页的运行过程静态网页的运行需要两步来完成:第一步,客户端浏览器地址栏输入URL,向服务器发出HTTP请求第二步,服务器发回HTTP响应,将用户请求页面的所有代码及资源文件都返回给浏览器,浏览器解释并运行得到页面效果1.1.2动态网页及其运行过程1.动态网页动态页面是用HTML+CSS+JavaScript结合ASP、PHP或JSP代码编写的.asp或.php或.jsp文件,即在一个动态页面代码中往往会穿插使用静态代码和动态代码动态网页一定是在服务器端运行的动态网页的特点显著特点是,网页中显示的内容常常会因人因时不同而不同。举例说明:例如我们登录邮箱,今天登录后阅读了几封未读邮件,明天登录后又会有新的未读邮件出现,即对同一个用户而言,不同时段看到的结果会有所不同;而不同的用户进入自己的邮箱看到的邮件更是大相径庭,动态网页可以按用户要求显示该用户保存在服务器上的信息,也可以将用户自己的信息提交给服务器保存。再如购物网站、微博网站,信息更是瞬息千变万化。2.动态网页的运行过程在动态网页中常出现的功能是用户与服务器的交互,这种交互过程通常需要借助于表单界面,用户也可以通过超链接形式与服务器交互。若使用表单界面,则用户在输入信息之后,单击类似于“登录”、“注册”或“确认”等submit类型按钮,即可将数据提交给服务器,服务器端会运行相关的动态网页文件,对数据进行处理,并向浏览器发回应答信息。2.动态网页的运行过程动态网页的运行过程分为两个阶段第一阶段,根据用户的请求在服务器端运行动态部分的代码,获取相应的结果;第二阶段,将运行动态代码获取的结果与源代码中的静态代码一起发送给浏览器,由浏览器解释、运行这一部分内容,并将最后结果显示在浏览器界面上。102.动态网页的运行过程以php程序的运行过程来说明动态网页的运行过程由客户端浏览器使用http协议向web服务器发出请求,请求运行的是包含了php代码的动态页面文件由web服务器运行用户指定的php程序,在程序运行过程中可能需要访问数据库,可能要访问服务器端的文本文件,也可能要执行其它功能或函数库中的函数web服务器获取到php程序的运行结果web服务器将PHP程序中动态部分代码的运行结果、程序中原来的html+css+JavaScript部分的代码、以及需要的素材使用http协议一起传送给客户端浏览器,再由浏览器运行后以页面的形式展示给发出请求的用户。1.1.3动态网页与静态网页的区别主要区别如下:使用的技术不同。静态网页中只能使用HTML+CSS+JavaScript等技术;动态网页在HTML+CSS+JavaScript的基础上,增加了核心技术PHP、JSP或者ASP。文件扩展名不同。静态网页文件的扩展名为.html或者.htm;动态网页文件的扩展名根据页面中使用的核心技术不同,可以是.php、.jsp、.asp等。页面内容不同。静态网页的页面内容基本固定不变;动态网页的页面根据不同的访问用户、不同的访问时间往往会展现不同的内容。运行的位置不同。静态网页的代码只需要在浏览器端运行;动态网页中的动态代码必须在服务器端运行。素养提示AJAX的异步处理提高了开发的效率。我们也应合理配置资源、协同工作,有团队合作意识。思考问题php文件中能否使用html标记、css样式代码?为什么?html文件中能否包含php代码?为什么?任务1-1核心问题回答与总结思考并回答需要解决的核心问题什么是静态网页?静态网页如何运行?什么是动态网页?动态网页如何运行?动态网页与静态网页的主要区别有哪些?任务1-2初识PHP内容目标1.2.1关于PHP1.2.2PHP能够实现的功能需要解决的核心问题什么是PHP?PHP的特性有哪些?使用PHP能够实现哪些功能?1.2.1关于PHP关于PHPPHP的全称:PageHypertextPreprocessor,页面超文本预处理器PHP是一种服务器端的脚本语言,必须在服务器环境下才能运行。PHP是开源免费和跨平台的,具有高效安全和简单等特点PHP的特性PHP独特的语法混合了C、Java、Perl的语法,以及PHP自创的新语法。可以更快速地运行动态网页,运行效率比CGI要高许多。PHP可以运行编译后的代码,编译过程可以加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,几乎能实现CGI的所有功能。PHP几乎支持所有流行的数据库,可以在Linux、UNIX和Windows等各种操作系统环境下运行。PHP支持面向过程和面向对象两种编程方式。素养提示PHP技术因其轻便、快捷、跨平台等特点深受用户的喜爱。在做项目时,我们要本着方便用户、为民服务的理念。1.2.2PHP能够实现的功能PHP可以完成web服务器端的很多功能,例如:动态内容生成:PHP可以生成动态的HTML内容,这使得网页可以根据用户请求或数据库数据实时变化。数据库交互:PHP可以与数据库进行交互,实现数据的增删改查(CRUD)操作。表单处理:PHP可以处理来自HTML表单的数据,包括验证输入、存储数据到数据库等。会话管理:PHP支持会话管理,允许在不同的页面请求之间存储用户信息。文件操作:PHP可以读取、写入、上传和下载文件,非常适合处理文件上传和下载功能。图像处理:使用GD库,PHP可以进行图像的生成、修改和转换。RESTAPI开发:使用框架,PHP可以轻松开发RESTAPI,支持前后端分离的应用开发。用户认证和授权:PHP可以通过多种方式实现用户认证和授权机制。任务1-2核心问题回答与总结思考并回答需要解决的核心问题什么是PHP?PHP的特性有哪些?使用PHP能够实现哪些功能?任务2搭建PHP程序的运行环境目录任务2-1搭建集成化开发环境phpStudy任务2-2搭建集成化开发环境XAMPP任务2-3使用PHP程序的开发工具素养要点全局观
大局观任务2-1搭建集成化开发环境phpStudy内容目标2.1.1phpStudy的安装2.1.2phpStudy的主界面2.1.3phpStudy环境下的服务器主目录需要解决的核心问题如何升级phpStudy中的PHP版本?phpStudy中的默认主目录是什么?主目录的作用是什么?如何改变Web服务器的主目录及使用的端口号?如何管理phpStudy的默认网站?2.1.1phpStudy的安装版本选用教材中选用的版本是phpstudy_x64_.exe,内部集成Apache2.4.39+PHP7.3.4+MySQL5.7.26,安装之后可自行将PHP的版本升级为PHP8。注意不建议在phpStudy的安装路径中使用中文。这是因为中文路径可能会引起一系列兼容性和权限问题,尤其是在涉及文件路径的操作时,可能会导致脚本执行失败,文件无法正确访问等问题。2.1.2phpStudy的主界面每个套件都可以单独启动单击套件的“启动”按钮启动套件之后,按钮变为“停止”1.“配置”按钮Apache的“配置”按钮单击Apache的“配置”按钮可以进行Apache的设置操作,包括修改网站目录和启动端口等。若端口80被其它服务占用,可以将其修改为81或者8080等。1.“配置”按钮MySQL的“配置”按钮单击MySQL的“配置”按钮可以进行MySQL的设置操作。若MySQL的端口3306已经被占用,可以在此处进行修改。2.网站管理进入phpStudy的“网站”界面,可以观察到已经存在的默认网站,默认网站的域名是localhost,对应的端口是80,物理路径是D:\phpstudy_pro\WWW。“网站”界面中可以创建
新网站,也可以对默认网
站进行管理,包括“停止”
“修改”“删除”“打开
网站”等操作。3.修改PHP版本安装phpstudy_x64_.exe之后,默认的PHP版本是php7.3.4nts,单击网站管理界面中“管理”→“php版本”,在弹出的“PHP更多版本”中选择安装“php8.2.9nts”3.修改PHP版本完善php8.2.9nts的配置文件php8.2.9nts自带的配置文件php.ini中缺失的配置项很多,导致无法正常运行PHP程序。将php7.3.4nts中的php.ini复制到php8.2.9nts中覆盖原有的php.ini,查找其中的“php7.3.4nts”替换为“php8.2.9nts”3.修改PHP版本在phpStudy网站管理的“php版本”中勾选启用php8.2.9nts,之后重新启动Apache服务即可。2.1.3phpStudy环境下的服务器主目录任何一个Web服务器都会提供默认的主目录。phpStudy集成环境下的主目录位于安装文件夹中的WWW文件夹,存放在该文件夹中的任何页面文件都可以通过“http://localhost/文件名”或者“/文件名”的形式运行。可以将localhost看作是到主目录文件夹WWW的映射。若主目录下面存在子文件夹,在浏览器中运行子文件夹中的文件时,需要在localhost后面增加子文件夹名称和子文件夹内部的页面文件名称。例如,若WWW文件夹下存在文件date.php,则可以在浏览器地址栏中输入“http://localhost/date.php”运行该PHP文件;若WWW文件夹下包含子文件夹exam,且该文件夹中存在文件exam.php,则可以在地址栏中输入“http://localhost/exam/exam.php”运行该PHP文件。任务2-1核心问题回答与总结思考并回答需要解决的核心问题如何升级phpStudy中的PHP版本?phpStudy中的默认主目录是什么?主目录的作用是什么?如何改变Web服务器的主目录及使用的端口号?如何管理phpStudy的默认网站?任务2-2搭建集成化开发环境XAMPP内容目标2.2.1XAMPP的安装2.2.2XAMPP的主界面2.2.3XAMPP环境下的服务器主目录2.2.4XAMPP环境下的端口冲突问题及解决方案需要解决的核心问题在XAMPP主界面下可以完成哪些操作?XAMPP环境下的服务器主目录是什么?Apache、PHP和MySQL的配置文件分别是什么?XAMPP环境下可能存在哪些端口冲突?要如何解决?任务二PHP程序的运行环境搭建安装集成化的开发环境xampp端口冲突及解决方案Web主目录MySQL管理器代码编辑环境2.2.1XAMPP的安装安装集成化的开发环境xampp提供的程序包集成Apache2.4.58+PHP8.2.12+
MariaDB数据库管理系统10.4.32(基于MySQL5.7),一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。其中apache用于搭建Web服务器千万不要安装在汉字文件夹下,
如果XAMPP的安装路径中包含
中文,有时会导致权限问题。2.2.1XAMPP的安装2.2.1XAMPP的安装2.2.1XAMPP的安装2.2.1XAMPP的安装2.2.2XAMPP的主界面Apache和MySQL可以分别启动。前期我们将只使用ApacheMySQL服务的操作界面单击主界面中MySQL对应的Admin按钮,打开MySQL服务的操作界面,该界面下可以完成数据库的导入导出、创建与删除;表的创建、删除与修改;数据的浏览、查询、删除、修改等各种操作。2.2.3XAMPP环境下的服务器主目录思考问题我们通过浏览器访问的网站资料都存放在哪里?主目录主目录是web服务器的默认站点在服务器上的存储位置,每个web服务器中都要存在主目录web服务器中的站点文件夹都要存放在主目录下面,这样的页面文件能够被用户通过浏览器来访问2.2.3XAMPP环境下的服务器主目录PHP文件的运行必须使用web服务器方式,即使用http://...,使用本地主机充当服务器,格式为http://localhost/...安装完毕后,xampp文件夹中的htdocs子目录被默认为主目录,主目录中存放的PHP文件能够通过上面URL方式运行,例如运行htdocs/yzm.php时需要在浏览器地址栏中输入地址为:http://localhost/yzm.php,localhost对应文件夹htdocs可以在主目录下面创建子目录,例如163email,要运行该目录下的文件denglu.html,地址为http://localhost/163email/denglu.html如果修改了apache的端口,则要使用http://localhost:端口号/...运行修改XAMPP下的主目录在Apache的配置文件中可以修改XAMPP下的主目录。Apache配置文件是httpd.conf,该文件位于安装文件夹的apache\conf中修改主目录的做法查找“documentRoot”,找到相关内容后,将其后面指定的路径修改为任意一个存在的可读写的文件夹名称即可。修改Apache配置文件之后,必须重新启用Apache服务。2.2.4XAMPP环境下的端口冲突问题及解决方案任何端口冲突都会导致相应的服务无法启动。常见的端口冲突有以下三个方面。Apache端口冲突SSL网络通信端口冲突MySQL端口冲突2.2.4XAMPP环境下的端口冲突问题及解决方案Apache端口冲突所有的web服务器默认占用的端口都是80,如果机器中存在其他的web服务器软件,且都处于启用状态,则一定会出现冲突。解决方案修改Apache的配置文件,xampp/Apahce/conf/httpd.conf,找到listen80,将80改为可用的端口,例如8080或者81等同时修改xampp窗口右上角config总配置注意:修改Web服务器的端口之后,浏览器中运行页面文件时,必须使用“localhost:端口号/”或者“:端口号/”的形式2.2.4XAMPP环境下的端口冲突问题及解决方案在“服务设置”界面修改端口号单击“save”按钮时,可能会出现“xampp-control.ini”拒绝访问提示2.2.4XAMPP环境下的端口冲突问题及解决方案此时需要修改C:\xampp\xampp-control.ini文件的安全设置,“编辑”权限,为“Everyone”增加“修改”“读取和执行”以及“写入”权限;或者改为完全控制权限2.2.4XAMPP环境下的端口冲突问题及解决方案SSL网络通信端口冲突SSL占用的端口默认是443,如果电脑中安装了虚拟机,虚拟机通常也会占用端口443,导致端口冲突。解决方案修改SSL的配置文件,xampp/Apahce/conf/original/extra/httpd-ssl.conf,找到listen443,将443改为可用的端口,例如444同时修改xampp窗口右上角config总配置2.2.4XAMPP环境下的端口冲突问题及解决方案MySQL端口冲突MySQL默认占用端口是3306,如果机器中有独立安装的MySQL,3306端口会被占用,出现冲突。解决方案修改MySQL的配置文件,xampp/mysql/bin/my.ini,将所有的port=3306都改为3307或者3366等可用的端口同时修改xampp窗口右上角config总配置还要修改php的配置文件,xampp/php/php.ini,将所有的mysqli.default_port=3306都改为与上面一致的端口,否则xampp窗口中MySQL的admin将无法访问另外,在“服务”下面将MySQL服务停掉改为手动启用模式素养提示PHP集成化开发环境可根据用户需要灵活配置,在项目开发中我们既要统揽全局,有大局观,又要考虑个性化需求。任务2-2核心问题回答与总结思考并回答需要解决的核心问题在XAMPP主界面下可以完成哪些操作?XAMPP环境下的服务器主目录是什么?Apache、PHP和MySQL的配置文件分别是什么?XAMPP环境下可能存在哪些端口冲突?要如何解决?任务2-3使用PHP程序的开发工具内容目标2.3.1安装及使用HBuilder2.3.2在HBuilder中配置PHP的编辑和运行环境2.3.3创建并编辑PHP文件代码编辑环境红色版本的HBulider编写静态代码和动态代码都很方便将xampp的主目录文件夹htdocs添加到HBuilder左侧项目管理器中“工具”-“插件安装”,安装第一个插件,方便php代码提示任务3掌握PHP8的基本语法目录任务3-1掌握PHP语法基础任务3-2认识PHP中的日期和时间任务3-3了解程序结构任务3-4理解数组素养要点遵守规则约束行为崇尚文明、和谐任务3-1掌握PHP语法基础内容目标3.1.1第一个PHP程序3.1.2PHP标签与注释3.1.3PHP中常量的定义3.1.4PHP中的变量3.1.5PHP中的运算符3.1.6PHP程序的输出语句任务3-1掌握PHP语法基础需要解决的核心问题PHP代码的定界标签是什么?可以使用哪些注释格式?自定义变量时,需要注意的事项有哪些?如何区分字符串内部的变量与其他字符?常用的运算符有哪些?如何使用PHP中的输出语句echo输出各种不同的数据?如何解读var_dump()的输出结果中各部分的信息?3.1.1第一个PHP程序创建页面文件3-1.php,实现如下两个功能。在页面主体中增加一个段落元素,段落内容为“这是HTML元素段落中的文本”。使用PHP的echo语句输出字符串“Helloworld!”。要求:在浏览器窗口中运行该页面文件,查看源代码并观察源代码的内容。<?php…?>是PHP8代码嵌在页面中的定界符,定界符可并列多次出现,但是不能嵌套使用文件分别按如下位置存储,分别需要怎样运行?1.存储在htdocs下面,3-1.php2.存储在htdocs/exam/3-1.php3.1.2PHP标签与注释PHP标签<?php……?>是PHP标签,该标签用于告知Web服务器PHP代码何时开始、何时结束,隔开PHP代码和HTML代码。根据需要,PHP标签在一个程序
文件中可以出现多次,因此可
以把PHP代码块放置在页面文档
的任何位置。如右图所示3.1.2PHP标签与注释注意:PHP标签不可以嵌套使用,即不能出现<?php…<?php…?>…?>这种形式,这是一种语法错误。起始标签的角括号<、问号?和php三部分内容之间以及结束标签的问号?和角括号>两部分内容之间不允许出现空格。若结束标签?>位于PHP文件的末尾处,可以省略3.1.2PHP标签与注释三种注释格式://:用于写一行注释/*…*/:多行大块注释ctrl+shift+/#:一行注释3.1.3PHP中常量的定义程序开发中,通常会把值不变的数据项定义成常量,常量一般用全部大写来表示,前面不加美元符号$。PHP中,常量可以使用函数define()和关键字CONST/const两种形式定义。1.使用函数define()定义常量语法格式:define(name,value,case_insensitive)参数说明:参数name:必选,表示常量名称;参数value:必选,表示常量值;参数case_insensitive:可选,规定常量的名称是否对大小写敏感,若设置为true,则对大小写不敏感。默认是false(大小写敏感)。1.使用函数define()定义常量例如,要定义大小写不敏感的常量PI,值为3.1415926,代码如下:define("PI",3.1415926,TRUE);访问常量的方式可以直接使用常量名称,也可以使用constant("常量名称")。例如要输出常量PI,可以用echoPI;或者echoconstant("PI")。2.使用CONST定义常量格式:CONST常量名称=常量值;。例如,CONSTPI=3.1415926;。注意:关键字CONST可以写为小写的const。使用CONST定义的常量,大小写是敏感的,定义之后无法改变;另外,使用CONST定义的常量,其访问方式与函数define()定义的常量是一致的,可以直接使用常量名访问,也可以使用constant("常量名称")形式访问。3.函数define()与关键字CONST的区别两者的主要区别体现在定义常量的位置方面。由于函数define()定义的常量是在执行define()函数时定义的,因此,只要是可以调用函数的地方,都可以使用define()定义常量。例如,可以在函数体内部、循环体内部、if...else语句内部等位置使用define()定义常量。与define()不同的是,由于CONST关键字定义的常量是在编译时定义的,因此使用CONST关键字定义常量的位置必须处于顶端的作用区域,即不能在函数体内部、循环体内部、if...else语句内部等位置用CONST来定义常量。例如,代码if($a>0){define("PI",3.14);}是正确的,代码if($a>0){CONSTPI=3.14;}是错误的。3.1.4PHP中的变量PHP变量是指在程序运行过程中,内容需要根据条件发生变化的量。PHP中的变量包括两种。自定义变量系统预定义变量1.自定义变量自定义变量就是由开发人员根据需要自行定义的变量,PHP中的数据类型为弱类型,因此在定义变量时,不需要考虑变量的数据类型。PHP中有效的变量名由字母或者下划线开头,后面跟任意数量的字母、数字或下划线,PHP变量属于松散的数据类型,使用时需要注意如下几点。变量名必须以$符号为前缀,区分大小写不必事先定义或声明,可直接赋值使用时根据变量所存放常量的值确定类型并可随意更换值的类型如果未赋值而直接使用,会出现“Undefinedvariable”警告信息1.自定义变量应用自定义变量修改3-1.php文件,定义变量$string,用于存放HelloWorld!,最后输出变量的值,保存之后运行该文件观察结果1.自定义变量可变变量若是在变量名称前面只有一个$符号,该变量是一个普通变量,例如$str。若是在变量名前面有两个$符号,则该变量是一个可变变量,例如$$str。观察代码:上面代码中可变变量$$str表示的变量是$name,若$str="age",则可变变量$$str表示的变量是$age。$str="name";$$str="zhanghongjian";echo$name; //输出zhanghongjian2.系统预定义变量(此处了解即可)这里只简单介绍系统预定义变量中的几个超全局变量。所谓超全局变量,是指变量在一个程序的全部作用域中都可以直接使用,以下这些超全局变量经常被称为系统数组。$GLOBALS:用于在PHP脚本中的任意位置访问全局变量;$_SERVER:保存关于报头、路径和脚本位置的信息;$_REQUEST:用于收集HTML表单提交的数据,该组的可信度较低,较少使用;$_POST:广泛用于接收method="post"的HTML表单提交的数据,也常用于传递变量;$_GET:可用于接收method="get"的HTML表单提交的数据或者URL提交的数据;$_COOKIE:经由HTTPCookies方法提交至脚本的变量;$_FILES:经由HTTPPOST文件上传而提交至脚本的变量;$_SESSION:用于存储和管理会话数据,支持在多个请求间持久化用户特定数据。在后续的任务中,将对其中的$_POST、$_GET、$_COOKIE、$_FILES和$_SESSION等几个系统数组进行详细介绍。3.1.5PHP中的运算符运算符是一种符号,指明要在一个或多个表达式中执行的操作,是构造表达式的工具。PHP的运算符主要包括如下几种算术运算符:+-*/%++--赋值运算符:=+=-=*=/=%=比较运算符:>
<
>=
<=
==
!=
===
!==。逻辑运算符:!&&||字符串连接运算符:.(圆点)3.1.4PHP中的运算符关系运算符:===,完全相等,$x===$y,若它们的值相同,且类型相同,则返回true。例如5==='5'结果为假,而5=='5'结果为真!==,不完全相等,$x!==$y,如果$x不等于$y,或它们类型不相同,则返回true。例如5!=='5'结果为真,而5!='5'结果为假返回值若为true,通常使用数字1表示,反之则是所有的非0数字都可以看做真值,0则表示假值编写程序,分别输出表达式5==='5'、5=='5'、5!=='5'、5!='5',观察结果(分别使用echo和var_dump输出)3.1.6PHP程序的输出语句在PHP程序中,使用输出语句能够将指定内容从服务器端传送到浏览器端。PHP程序的输出语句有echo、print()、printf()、print_r()、var_dump()等,此处主要讲解echo和var_dump()两种语句。echoecho使用非常广泛,作为语言结构,输出时不需要括号,使用该语句可以输出PHP程序中的常量、变量、表达式运算结果、HTML标签、CSS样式代码以及JavaScript脚本代码等任意内容,输出过程中可以使用逗号间隔多个参数。echo应用示例示例3-3.php使用echo语句输出变量、表达式、CSS样式代码等内容,代码如下。代码中的第三行,能否将双引号换成单引号?为什么?<?php$name="lihong";echo$name;echo'<p>mynameis{$name}</p>';echo"<pstyle='color:#f00;font-size:20pt;'>mynameis{$name}</p>";echo"<p>23+45=".(23+45),"</p>";?>变量的引号定界问题虽然单引号与双引号都具备对字符串进行定界的功能,但是,若是要将需要转换值的变量或其它元素与其它文本内容一起放在引号中,不可以使用单引号定界。原因如下:运行程序时,PHP不会对单引号中的内容进行检查、替换,即无论单引号中包含什么内容,都会按照原样输出;如果使用双引号定界,PHP则会检查内部的内容,发现变量或者数组元素等内容,会直接使用它们的值进行替换。。使用双引号定界变量时的注意事项说明放在双引号中的变量,后面不能紧跟着出现数字、下划线、汉字等字符,否则系统会将这些字符与原变量名一起解析为变量名,从而出现未定义的变量名错误。例如echo"$name是个女孩儿的名字";系统解析时会将双引号中的全部内容作为变量名.在PHP中可以使用花括号将变量名与字符串中的其他内容区分开,即{$变量名}代码可改为echo"{$name}是个女孩儿的名字";。需要说明的是,{}内部的“$变量名”之前不能出现任何符号,否则输出结果中会带有花括号。3.1.6PHP程序的输出语句var_dump()var_dump()是PHP中用于调试的内置函数,主要用于输出变量的类型、值及结构信息。基础用法:var_dump($variable),其中$variable可以是普通变量、表达式、数组或对象。示例:创建3-4.php文件,使用var_dump()输出字符串,观察输出结果的结构;使用var_dump()和echo分别输出布尔型表达式,对输出结果进行对比分析。var_dump()应用示例3-4.php代码和运行结果如下<?phpvar_dump("Hello");echo"<br/>";var_dump("5==='5'结果是",5==='5’);echo"<br/>";var_dump("5!=='5'结果是",5!=='5’);echo"<br/>";echo"<br/>5==='5'结果是",5==='5’;echo"<br/>5!=='5'结果是",5!=='5';?>输出结果中,第1行表示“Hello”类型是字符串,包含5个字符;第2行表示“5==='5'结果是”类型是字符串,包含16个字符,其中每个汉字的UTF-8编码占用3个字节,计为3个字符,表达式“5==='5'”为布尔类型,比较结果为false;最后两行使用echo输出布尔值false时,没有任何结果,输出布尔值true时结果为1。素养提示在项目开发中必须遵循编程语言的语法,同样,我们也应遵守各种规则,约束自身行为,崇尚文明、和谐,积极践行社会主义核心价值观。思考问题若$age=19,下面代码的输出结果是什么?echo"他今年".$age."岁";echo"他今年{$age}岁";echo'他今年{$age}岁';下面代码运行结果如何?echo"<ahref=''>点击链接到商院首页</a>";echo"<imgsrc='images/pic1.jpg'/>";基础知识应用作业存在变量$school="山东商职学院",$depart="云计算技术与应用系",$student="250x班xxx"完成如下功能要求:将三个变量的值使用一个输出语句在同一行中显示出来使用三个输出语句在同一行中显示出来使用一个输出语句分三行显示
(显示效果为红色加粗文本)使用三个输出语句分三行显示运行效果如右图所示任务3-1核心问题回答与总结思考并回答需要解决的核心问题PHP代码的定界标签是什么?可以使用哪些注释格式?自定义变量时,需要注意的事项有哪些?如何区分字符串内部的变量与其他字符?常用的运算符有哪些?如何使用PHP中的输出语句echo输出各种不同的数据?如何解读var_dump()的输出结果中各部分的信息?任务3掌握PHP8的基本语法目录任务3-1掌握PHP语法基础任务3-2认识PHP中的日期和时间任务3-3了解程序结构任务3-4理解数组素养要点遵守规则约束行为崇尚文明、和谐任务3-2认识PHP中的日期和时间内容目标3.2.1日期时间函数date()3.2.2获取时间戳的函数需要解决的核心问题函数date()中可以使用的格式字母有哪些?各自的作用是什么?什么是时间戳?在date()函数中如何获取指定时间戳对应的日期?函数strtotime()的作用是什么?如何使用该函数获取昨天、明天或者下星期一这种时间的时间戳?3.2.1日期时间函数date()PHP的date()函数用于格式化日期或时间使用格式:date(格式符[,时间戳])。说明:第一个参数必选,规定时间戳的格式;第二个参数可选,规定时间戳,默认是当前的日期时间,若是给定了时间戳,则可以使用date()函数获取该时间戳对应的日期或时间信息。关于时间戳:时间戳是自1970年1月1日(00:00:00GMT)以来的秒数,它也被称为Unix时间戳(UnixTimestamp)。3.2.1日期时间函数date()date()函数的第一个参数规定时间戳的格式,也就是如何格式化日期/时间。使用字母表示日期和时间的格式。常用的字母如下:参数Y:4位数字的年份;参数y:2位数字的年份参数m:月份01~12(参数n没有前导0);参数M:月份,英文单词前三个字符;参数F:完整英文单词参数d:返回值为月中的第几天,01~31,参数j没有前导0参数D:星期几,英文单词前三个字符;参数l:完整英文单词参数w:0(星期日)~6(星期六);参数N:1(星期一)~7(星期日)参数H:小时00~23;参数h:小时01~12参数i:分钟00~59;参数s:秒00~59所有格式字母对应的返回值都是字符型数据,例如9月份,使用date('n')得到字符'9'所有格式符可以结合其它字串一起使用,例如date('Y年m月d日')date()应用举例若今天日期是2025年9月5日,请按照指定格式输出日期今天是2025年09月05日今天是2025年9月5日,Thu今天是25年9月5日今天是2025-09-05现在是2025-9-509:45获取时间时出现了什么问题?修改php.ini文件,修改时区设置date.timezone=Europe/Berlin为PRC,中国时区重启apache服务在使用的XAMPP集成环境中,php.ini中的时区date.timezone默认为Europe/Berlin,表示欧洲东一区时区,其夏令时期间(3月最后一个周日至10月最后一个周日)比北京时间(东八区)晚6小时,非夏令时间则晚7个小时。893.2.2获取时间戳的函数-time()函数time()time()函数直接返回当前时间戳,不需要参数。903.2.2获取时间戳的函数-strtotime()函数strtotime()将美国英语格式的日期时间字符串解析为Unix时间戳。函数格式:strtotime(string)。参数string可以是一个日期时间格式的字符串,例如strtotime('2025-1-1'),获取的是到2025年1月1日0时0分0秒的秒数;也可以是一个表示日期时间的英文单词,例如strtotime("today"),获取的是到今天0时0分0秒的秒数。strtotime("now")获取的是1970年1月1日0时0分0秒到系统当前时间的秒数。还支持相对时间表达式,例如-1hour、+3Days、+6Months等,获取的是基于当前时间计算得到的时间戳91函数strtotime()注意事项对于不符合美国英语格式的日期格式的字符串(例如“今天”“2025年9月1日”等)或者空串作为参数时,大多数情况下得到的都是1970年1月1日的时间戳,也有部分情况得到的是当前日期的时间戳,在不同的服务器环境下,可能还会出现不同的行为。尝试输出“2025年9月1日”的时间戳和时间戳对应的日期,观察并分析结果函数strtotime()的应用-1分别获取并输出今天、现在、一小时后、明天(tomorrow和+1day)的时间戳,对运行结果进行分析说明。左侧截图中,运行程序时,系统时间是15:30:00,运行效果中的各个时间戳说明如下。现在的时间戳比今天的时间戳多出来55800秒,是15.5小时;一小时后的时间戳比现在的时间戳多出来3600秒,是1小时;+1day的时间戳比tomorrow的时间戳多出来55800秒,是15.5小时。93函数strtotime()的应用-2应用strtotime()函数进行处理,分别获取并输出今天的日期、明天的日期、下个星期一的日期和三天后的日期思考问题:要获取指定的日期,需要使用哪个函数?
需要为该函数设置几个参数?
第二个参数值如何得到?答:首先要使用strtotime()函数获取相应日期对应的时间戳,之后将该时间戳作为date()函数的第二个参数,将其转换为日期并输出94程序代码如下95函数strtotime()的应用-3创建文件,求当前日期距离下一年(例如2026年)元旦的天数题目分析:获取天数的要求需要转换为获取时间戳的要求获取当前日期对应的时间戳获取2026年1月1日对应的时间戳将两个时间戳相减之后得到两个日期之间的秒数之差,并将其转换为天数即可96程序代码如下日期时间函数作业获取当前日期距离自己的本年度生日的天数,要求如下:首先输出自己的生日是哪一月哪一日,格式为“我是xxx,我的生日是xx月xx日”输出“当前日期距离我的生日天数为xxx”,若是生日已经过去,则输出为负数,还没过去,则输出为正数任务3-2核心问题回答与总结思考并回答需要解决的核心问题函数date()中可以使用的格式字母有哪些?各自的作用是什么?什么是时间戳?在date()函数中如何获取指定时间戳对应的日期?函数strtotime()的作用是什么?如何使用该函数获取昨天、明天或者下星期一这种时间的时间戳?任务3掌握PHP8的基本语法目录任务3-1掌握PHP语法基础任务3-2认识PHP中的日期和时间任务3-3了解程序结构任务3-4理解数组素养要点遵守规则约束行为崇尚文明、和谐任务3-3了解程序结构内容目标3.3.1分支结构3.3.2循环结构需要解决的核心问题分支语句if包含哪几种结构?各自的特点是什么?match表达式的特点是什么?如何使用?for循环结构如何?如何使用for循环结构结合日期时间函数输出当前月的月历?while和do…while的区别是什么?3.3.1分支结构分支结构的执行会依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序来执行。设计分支结构时往往需要有逻辑或者关系比较等条件判断的计算,程序执行时需要根据不同的程序流程选择适当的分支语句。PHP8提供了两种流程控制语句来实现分支结构。if语句match表达式if语句左图代码$w的结果是什么?对当前日期的输出结果是什么?if多分支结构请大家阅读图示代码,思考问题:链式判断的各个条件的顺序能否随意颠倒(例如第5行和第6行颠倒)?为什么?能否去掉前面三个else,为什么?如果要按照从“不及格”到“优秀”的顺序判断,如何改写代码?match表达式用于替代传统的
switch
语句,提供更简洁、安全的条件匹配方式。match不需要中间变量,支持隐式返回,避免了switch结构中因为忘记break而出现的问题。提供了严格的类型检查和对多个条件的匹配match表达式必须包含至少一个匹配条件或default分支,否则将抛出异常。match表达式通过键值对匹配实现条件分支,键和值之间使用符号“=>”间隔,键值对之间以逗号间隔。match表达式基础用法match表达式通过键值对匹配实现条件分支,语法为:每个匹配分支只允许出现一个表达式,即result1~3和defaultResult处不能出现语句块,如果匹配了某个值之后需要执行多条语句,可以事先创建一个函数,使用函数取代相应的result。$result=match($expression){
value1=>result1,//逗号结束一个键值对
value2=>result2,value3,value4=>result3,//同时匹配多个条件default=>defaultResult};//此处语句结束的分号不可或缺match表达式基础用法例如:严格类型检查:使用===进行严格比较,避免类型转换错误,若示例中$status='200',则返回结果为Unknown$status=200;$message=match($status){200=>'OK',404=>'NotFound',default=>'Unknown'};match表达式基础用法支持链式条件判断,这种情况下,match()中一般使用true|false取代其他表达式,使用true,表示只返回链式条件中第一个为真的结果;使用false,则返回链式条件中第一个为假的结果而{}内部=>左侧键处则使用比较运算表达式。例如:$cartTotal=900;$discount=match(true){$cartTotal>1000=>0.3,$cartTotal>500=>0.2,$cartTotal>100=>0.1,default=>0};match表达式基础用法复杂返回值:可直接返回函数调用或异常抛出,例如:$action=match($command){'login'=>authenticateUser(),'logout'=>endSession(),'search'=>$this->handleSearch(),default=>thrownewInvalidCommandException()};match表达式定义两个函数f1()和f2(),分别完成参数$x和$y的加法和减法运算,并输出结果,根据给定变量$calculation的值确定执行那个函数match表达式课堂练习使用match表达式完成示例3-11(成绩等级判断)根据系统日期,输出今天日期和星期几,效果如图(注意date()函数返回值为字符型)课堂练习请使用match结构完成如下功能设置使用日期函数date('D')获取今天是星期几,保存在变量$week中判断$week的值如果是星期一Mon或星期二Tue
,则输出“今天要学习php课程啦,我要争取做到上课不睡觉,也不玩手机!!!”如果是星期六Sat或星期天Sun,请输出“今天又可以睡懒觉也可以好好玩耍了,要是天天都过周末该多好呀”如果是其它时间,请输出“每天都要好好学习”3.3.2循环结构循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。循环结构的3个要素是循环变量、循环体和循环条件。循环结构中必须指定循环条件,程序根据循环条件成立与否判断是否继续执行循环体。PHP中的循环语句有for、while、do…while和foreach共4种,其中foreach语句用于遍历数组元素,该语句将在3.4.3小节讲解。113使用for循环生成系统月历页面运行效果如图所示要求:使用表格显示输出内容当前日期使用红色边框突出显示思考问题:这个小案例的突破点是什么?要获取星期几的数据,需要使用哪个函数?要获取指定的日期对应的星期几,要怎样完成?114例题分析输出系统月历需要下面7个步骤:获取当前月第一天对应的时间戳按照时间戳获取第一天对应的星期几获取当前月的天数输出表格标题和标题行(星期几)输出第一天前面的空单元格判断日期中换行的位置对应星期几按行输出每一天,判断若是当前日期则要添加红色边框样式代码-1第一步,获取当前月第一天对应的时间戳第二步,按照时间戳获取第一天对应的星期几第三步,获取当前月的天数116代码-2第四步,输出表格标题和标题行(星期几)以及表格的换行标记117代码-3第五步,输出第一天前面的空单元格该变量表示的是第一天对应的星期几第六步,判断日期中换行的位置第七步,对应星期几按行输出每一天课堂练习:修改系统月历按照一到日的顺序输出系统月历,效果如图所示任务3-3核心问题的回答与总结思考并回答需要解决的核心问题分支语句if包含哪几种结构?各自的特点是什么?match表达式的特点是什么?如何使用?for循环结构如何?如何使用for循环结构结合日期时间函数输出当前月的月历?while和do…while的区别是什么?任务3掌握PHP8的基本语法目录任务3-1掌握PHP语法基础任务3-2认识PHP中的日期和时间任务3-3了解程序结构任务3-4理解数组素养要点遵守规则约束行为崇尚文明、和谐任务3-4理解数组内容目标3.4.1PHP数组的基本概念3.4.2PHP数组的类型3.4.3遍历数组3.4.4数组应用案例需要解决的核心问题可以使用哪两种形式定义普通的数组?如何获取数组元素的个数?什么是索引数组?如何定义和访问索引数组?什么是关联数组?如何定义和访问关联数组?如何使用foreach语句遍历数组?3.4数组数组是是一种用于存储多个值的数据结构,在PHP中被广泛应用。相比只能保存一个数据的普通变量而言,使用复合类型的数组变量能够保存一批数据,如一个班级所有学生的某门课程成绩、一个学生一个学期所有课程的成绩、一个公司全部员工的基本信息等,从而可以很方便地对数据进行分类和批量处理。3.4.1PHP数组的基本概念数组由多个元素组成,元素之间相互独立,识别或者访问元素需要使用索引或者“键”(key)。每个元素可以保存一个数据,相当于一个变量,因此可以将数组看作一组在内存空间连续的变量。3.4.1PHP数组的基本概念数组的定义:php中数组通过array()函数定义,括号中直接写数组元素值,使用逗号间隔,值的类型和个数不受限制。也可直接使用短数组语法[]定义数组例如$arr1=array('a','b','c','d','efg',23,48);如$arr2=
['李颖','2014080312',19,'团员'];数组元素个数的获取获取数组元素个数使用函数count(),括号中使用数组名作为函数参数,返回值为指定数组元素的个数例如count($arr1)结果为7count($arr2)结果为4在PHP中,sizeof()函数是count()函数的别名,用法相同。1253.4.2PHP数组的类型PHP中数组有三种类型:索引数组、关联数组和多维数组。索引数组索引数组是指带有数字索引的数组,使用递增的自然数列0、1、2…作为数组元素的索引,定义数组时,直接在array()函数或者[]中设置元素值即可,例如:$arr1=array('a','b','c','d','efg',23,48);数组$arr1中共有7个元素,可以分别通过$arr1[0]、$arr1[1]、……$arr1[6]的方式访问相应的数组元素。126应用索引数组创建文件3-14.php,使用数组循环结构输出$arr1中所有元素的值核心代码如下:思考并尝试echo$arr1;输出什么结果?var_dump($arr1);输出什么结果?$arr1=array('a','b','c','d','efg',23,48);for($i=0;$i<count($arr1);$i++){echo$arr1[$i];}若要在此处增加数组元素“China中国”,是否需要修改其它内容完成所有元素值的输出?127关联数组关联数组是指带有指定键的数组,数组元素的键名是由用户根据数组元素值的意义来定义的,定义数组时,需要使用“key=>value”(即“键名=>值”)的方式设置各个数组元素。例如$arr2=array("animal"=>"panda","name"=>"Betty","appearance"=>"pretty")访问数组$arr2数组$arr2中有三个元素,键名分别是animal、name和appearance,可以分别通过$arr2['animal']、$arr2['name']和$arr2['appearance']访问相应的数组元素。关联数组元素,不可使用索引形式访问128关联数组应用示例创建文件3-15.php,定义上面数组,处理之后输出内容“panda,nameisBetty,isverypretty”效果如下完成操作129混合数组若是定义了下面混合数组的形式$mixed=array(2,'wang','id'=>5,5=>'hello','world’);数组$mixed中元素2的索引是0,元素'wang'的索引是1,元素'hello'的键名为5,其后的未定义键名的元素'world'将使用数字索引6(前一个元素的键名5+1)。总结:若索引数组和关联数组的元素混合在一个数组中,对于关联数组元素而言,仍旧使用其键名进行访问,而索引数组元素所使用的索引值,将会依据位于其前面的键名是否为整数形式来决定。若是,则使用该整数加1的数字作为索引;若不是,则延续前面的自然数列索引值;若后面的数字键名小于前面已经出现的数字索引,仍旧延续前面的数字索引。应用混合数组存在代码<?php$mixed=array('a','b','25'=>'liuli','c','a'=>'efg',23,'19'=>'zhang',48);var_dump($mixed);?>请思考各个元素的索引是如何得到的?3.4.3遍历数组遍历数组是指对数组中每个元素进行访问,完成指定的操作。在PHP中遍历数组最常使用foreach循环语句完成。此外还可以使用array_map()或array_walk()对数组进行遍历。132使用foreach循环语句遍历数组foreach语句提供了遍历数组的简单方式,该语句仅能够应用于数组和对象,根据需要获取的内容不同,有两种用法。用法一:foreach(数组as$value){语句序列}每次循环中,将当前数组元素的值赋给变量$value,并且数组内部的指针向前移动一步,为下次循环做准备。用法二:foreach(数组as$key=>$value){语句序列}每次循环中,将当前数组元素的键名赋给变量$key,数组元素的值赋给变量$value,并且数组内部的指针向前移动一步,为下次循环做准备。133应用示例【示例】创建一个包含指定学生信息的一维关联数组$stu,使用foreach()结构遍历数组的方式逐个输出元素键名和值。运行效果如图所示。<?php$stu=array('No'=>'2024087301','name'=>'zhangyu','sex'=>'female','bodyHeight'=>170);foreach($stuas$key=>$value){echo"{$key}=>{$value}<br/>";
}?>134使用array_walk()方法遍历数组用法如下:array_walk(数组,function($value[,$key]){语句序列})函数参数$value表示被遍历数组当前元素的值,必选;参数$key表示被遍历数组当前元素的键名,可选。<?php$stu=array('No'=>'2024087301','name'=>'zhangyu','sex'=>'female','bodyHeight'=>170);array_walk($stu,function($value,$key){echo"{$key}=>{$value}<br/>";
})?>3.4.4数组应用案例如果系统日期是2025年9月9日,编写代码,要求在页面上输出如下内容:今天是2025年9月9日星期二<?phpecho"今天是".date("Y年n月j日")."";$weekArr=array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");$week=date("w");echo$weekArr[$week];?>任务3-4核心问题的回答与总结思考并回答需要解决的核心问题可以使用哪两种形式定义普通的数组?如何获取数组元素的个数?什么是索引数组?如何定义和访问索引数组?什么是关联数组?如何定义和访问关联数组?如何使用foreach语句遍历数组?任务4提交表单数据目录任务4-1设计表单页面及验证表单数据任务4-2提交表单数据任务4-3实现文件上传功能素养要点合法合理不以规矩,不能成方圆任务4提交表单数据当用户在网站上填写表单之后,表单中填写的数据需要提交给网站服务器进行处理和保存等操作,本任务中,将表单数据提交到服务器端之后,只进行简单的输出处理,不使用数据库保存。本任务通过设计一个表单应用小案例,讲解如何实现用户信息的收集与处理,包括表单页面设计、提交数据之前的表单数据验证以及将表单数据提交到服务器端进行处理的操作。案例说明:创建一个表单页面,收集用户的名字、性别、年龄、密码、兴趣爱好、喜欢的颜色、个人介绍和头像图片等信息,并将这些信息提交到服务器端进行相应的处理。任务4-1设计表单页面及验证表单数据内容目标4.1.1表单页面设计4.1.2使用HTML5新属性完成数据验证4.1.3使用脚本代码完成密码一致性验证需要解决的核心问题表单页面设计中复选框组元素name属性值的格式是怎样的?如何根据姓名和密码的填写要求设计表单元素的pattern属性?对表单数据进行合法性验证时,函数内部的“returnfalse”的作用是什么?调用脚本函数时,函数名称前面的return关键字的作用是什么?4.1.1表单页面设计表单知识点回顾(1)设计表单页面时,必须要使用<form>…</form>标记生成表单容器,在该容器中添加各种表单元素或非表单元素,<form>标记中当前需要设置的属性是method,属性值可以是post和get两种。(2)表单与表格的嵌套应用格式<form…><table…><tr> <td>表单元素</td></tr></table></form>(3)表单元素的生成生成表单元素:文本框、密码框、单选按钮、复选框、提交和重置按钮都需要使用<input>标记生成,在<input>标记中设置type属性值分别是text、password、radio、checkbox、submit和reset来生成相关的元素;下拉列表需要使用<select>…</select>和<option>…</option>两对标记生成,其中<select>…</select>用于生成列表框,而<option>…</option>用于生成各个选项;文本区域则需要使用<textarea>…</textarea>标记生成创建图示表单页面表单元素通常都需要设置name和id属性,属性值相同即可表单元素要求-1姓名文本框的name和id属性值都是uname;性别单选按钮组的name是sex,选中“男”之后,提交的数据是“男”,选中“女”之后提交的数据是“女”;思考:使用哪个属性设置单选按钮提交的数据?年龄文本框的name和id属性值都是age;个人密码框的name和id都是psd1;确认密码框的name和id都是psd2;表单元素要求-2爱好复选框组设置的name是like[],选中各个复选框之后提交的数据分别是看书、足球、音乐和爬山。颜色下拉列表框设置的name和id都是color;个人介绍文本区域设置的name和id都是jieshao。表单元素的样式要求为:文本框、密码框、下拉列表框的宽度定义为280px,高度定义为20px;文本区域的宽度定义为280px,高度为60px创建图示表单界面(保存为form.html)表单元素name和id属性uname、sex、age、psd1、psd2、like、color、jieshao4.1.2使用HTML5新属性完成数据验证对form.html页面文件中的数据需要进行的验证如下:(1)姓名只能包含字母和数字,且必须在6到20个字符。(2)年龄不能为空,并且数据要在0~100之间。(3)个人密码为6~10个字符。(4)两次输入的密码必须相同。(要使用js函数实现)(5)个人介绍文本区域内容不能为空。素养提示表单数据不合法不能提交,我们也要牢记只有合法、合理,才能被他人接纳。不以规矩,不能成方圆。1.姓名验证要求姓名只能包含字母和数字,且必须在6~20个字符之间,可以使用HTML5中表单元素新属性pattern定义正则表达式完成在用户名文本框标签中添加下面代码pattern="[a-zA-Z0-9]{6,20}"上面代码中[a-zA-Z0-9]表示可以出现的字符,{6,20}表示最少6个,最多20个使用属性required="required"将姓名设置为必填项。用户输入数据单击提交按钮时自动完成验证2.年龄验证对年龄的要求是不能为空,并且数据要在0~100之间,使用HTML5中新型表单输入元素number结合新属性required可以实现实现方案:设置最小值min为0,最大值max为100另外使用属性required="required"设置不允许为空用户输入数据单击提交按钮时自动完成验证密码和个人介绍的合法性验证对密码的要求是个人密码需要在6~10个字符之间;使用正则表达式属性pattern完成,在密码框中增加如下代码pattern="[a-zA-Z0-9!@#$%……&*]{6,10}"密码中可以使用特殊字符(根据需要可以增加)同时使用required="required"将密码设置为必填项对个人介绍的要求是不允许为空,使用required属性即可4.1.3使用脚本代码完成密码一致性验证使用脚本代码进行表单数据验证,阻止非法数据提交的本质做法是:当数据不符合要求时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机网络安全技能提升试卷
- 产品开发技巧试题及答案分享
- 2026年事业单位招聘考试图书馆管理专业知识培训试卷
- 痰饮咳嗽病篇专家讲座
- 2026年四川省从“五方面人员”中选拔乡镇领导班子成员考试历年参考题
- 2025年城乡规划管理试题及答案
- 《金银岛》综合试题及答案
- 2025~2026学年广东省佛山市三水区第二学期七年级中段知识素养检测试卷
- 早梅测试题及答案
- 《新能源汽车底盘检修》课件全套 项目1-5 新能源汽车检修安全操作-电子稳定控制系统检修
- 河北省高等职业院校单独招生考试数学总复习
- 2026年电气工程专业《中级职称》考试(含答案)(题库)
- 河南省西华县2026年上半年公开招聘城市协管员试题(含答案)
- 2026年秋新教材沪教版九年级上册英语Unit 1-8词汇表
- 2026年北京市石景山区三年级数学下册期末考试试卷及答案
- 2026年分子诊断行业分析报告及未来发展趋势报告
- 晶体缺陷调控方法-洞察与解读
- GB/T 19276.2-2026水性培养液中材料最终需氧生物分解能力的测定第2部分:采用测定释放的二氧化碳的方法
- 结节性红斑病因诊断专家共识(2025版)课件
- 心梗急救知识普及课件
- 儿童鼻腔变应原激发试验临床实践指南(2025版)
评论
0/150
提交评论