书签 分享 收藏 举报 版权申诉 / 91
上传文档赚钱

类型PHP动态网站开发项目教程项目二课件.pptx

  • 上传人(卖家):三亚风情
  • 文档编号:2904274
  • 上传时间:2022-06-09
  • 格式:PPTX
  • 页数:91
  • 大小:3.66MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《PHP动态网站开发项目教程项目二课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    PHP 动态 网站 开发 项目 教程 课件
    资源描述:

    1、项目二 趣味数学PHP动态网站开发项目教程本项目将进一步熟悉PHP中变量、循环等编程基础知识,实现如图2.1所示的网页。(源代码:CDchapter2example.php)输出趣味数学问题3相关知识项目实现内容导航PHP代码规范PHP常量PHP变量PHP运算符与表达式PHP程序流程控制PHP代码规范例2.1嵌入了PHP代码的HTML如下。(源代码:chapter2test1.php)。PHP代码通常被嵌入HTML代码之中。PHP代码规范上述代码执行后在IE浏览器中的显示结果如图所示。在例2.1中嵌入了两段PHP代码。其中“”表示输出PHP表达式的值作为HTML标记的属性值;第2段使用了标准的

    2、PHP标识符“”,表示嵌入了一段PHP代码。PHP解释器按照PHP代码规范来解析HTML文件中的PHP代码。PHP代码中每个语句以分号“;”结束(也使用大括号“”标识语句块),PHP解释器会忽略所有的空格和换行符。例2.1的书写格式是为了方便阅读代码。PHP代码规范1PHP代码标识PHP支持多种风格的代码标识。(1)PHP表达式格式PHP表达式可以直接输出到HTML文件,格式为这种格式较灵活,可方便地将PHP表达式嵌入HTML代码的任何位置。例如,在例2.1中将“”字符串中的“red”作为表达式,输出到HTML文件,并将其作为HTML内联样式的属性值。在开始标识“”之间嵌入PHP程序代码,如例

    3、2.1所示。这是PHP代码默认标识,也是最常用的标记格式。(2)格式1PHP代码标识使用作为PHP程序代码的开始和结束标识,这种方式也称为短格式。将例2.1修改为使用短格式的PHP代码如下。要使用短格式,必须将php.ini中的“short_open_tag”参数设置为“On”。(3)使用短格式1PHP代码标识使用ASP风格作为PHP程序代码的开始和结束标识,这种格式类似ASP代码风格。将例2.1修改为使用ASP、JSP风格的PHP代码如下。要使用ASP风格的格式,必须将php.ini中的asp_tags参数设置为On。(4)使用ASP风格的格式1PHP代码标识使用和作为PHP程序代码的开始和

    4、结束标识,这种方式为标准脚本格式。将例2.1修改为标准脚本格式的PHP代码如下。(5)使用标准脚本格式标准脚本格式嵌入的PHP代码不受php.ini中short_open_tag和asp_tags参数设置的影响。事实上,short_open_tag和asp_tags参数设置为On时,上述5种方式都可同时使用。2PHP注释PHP代码支持3种风格的注释,下面分别进行介绍。格式1:/单行注释格式2:#单行注释格式3:/*多行注释*/单行注释独占一行或放在PHP语句末尾;多行注释将以“/*”符号开始,“*/”符号结束之间的全部内容作为PHP注释。2PHP注释例2.2使用PHP注释,代码如下。(源代码:

    5、chapter2test2.php)2PHP注释代码在IE浏览器中的显示结果如图所示。PHP解释器会忽略代码中的所有注释,而HTML注释则不受PHP解释器影响。HTML注释被浏览器忽略,不显示给用户,但在浏览器中查看网页源代码时,看不到PHP注释,但可看到HTML注释。2PHP注释在IE中查看例2.2时,选择IE的“查看源”命令,可查看PHP解释器的输出结果,如图所示。3PHP文件包含PHP代码可以放在独立的PHP文件中,使用时用include或require包含到当前代码中即可。文件包含有4种基本格式,下面分别进行介绍。01OPTION02OPTION03OPTION04OPTIONincl

    6、ude 文件名;include(文件名);require 文件名;require (文件名)。3PHP文件包含例2.3使用PHP文件包含。(源代码:chapter2test3.php、chapter2data. php、chapter2proc.php)被包含的data.php文件中只定义了一个变量,代码如下。被包含的proc.php文件中用echo输出一个字符串,代码如下。3PHP文件包含主文件test3.php包含了data.php和proc.php,代码如下。3PHP文件包含主文件test3.php包含了data.php和proc.php,代码如下。include和require的区别在

    7、于:当所包含的文件出错时,include只产生一个警告,后继代码继续执行;require则产生一个致命错误,后继代码不再执行。例如,将前面的test3.php中的第一个include语句:修改为3PHP文件包含data2.php是一个不存在的文件,在IE浏览器中打开修改后的test3.php,显示结果如图所示。从图中可以看出,在出错的“include(data2.php);”语句前后的代码均执行了。3PHP文件包含如果将“include(data2.php);”语句修改为:在IE浏览器中打开修改后的test3.php,显示结果如图所示。从图中可以看出,在出错的“require (data2.p

    8、hp);”语句前的代码执行了,而后面的代码没有执行。3PHP文件包含提示:当“php.ini”文件中的“display_errors”参数设置“On”时,才会在浏览器中输出错误信息,将其设置为“Off ”时则不显示。提示:多次包含相同文件可能会出现变量或函数重复定义之类的错误。可使用include_once或require_once来包含文件,与include或require的区别在于,前者会检测是否已包含相同文件,已经包含的文件将不再重复包含。21相关知识项目实现内容导航PHP代码规范PHP常量PHP变量PHP运算符与表达式PHP程序流程控制PHP常量常量指值不变的量。常量一经定义,在脚本的

    9、其他任何地方都不允许被修改。常量命名时,可使用英文字母、下画线、汉字或数字,数字不能作为首字母。1常量的定义与使用常量定义使用define()函数,其基本格式如下:123$name:表示常量名称的字符串。$value:常量值,可以是字符串、整数或浮点数。$case_insensitive:其值为TRUE或FALSE,TRUE为默认值。TRUE表示该常量名称在使用时不区分大小写,FALSE表示要区分大小写。下面对各参数分别进行介绍。1常量的定义与使用常量定义后,可使用常量名称来获得值,也可使用constant()函数来获得常量值。constant()函数格式如下:该参数是一个包含常量名称的字符串

    10、,或者是一个存储常量名称的变量。defined()函数可用于测试常量是否已经定义,其格式如下:若常量已经被定义,函数返回TRUE,否则返回FALSE。在网页中TRUE显示为1,FALSE显示为空白。1常量的定义与使用例2.4定义和使用PHP常量代码如下。(源代码:chapter2test4.php)1常量的定义与使用例2.4在IE浏览器中的显示结果如图所示。从图中可以看出,使用未定义常量时,PHP会输出一个Notice错误信息。2预定义常量PHP中的常用预定义常量如表2.1所示。2预定义常量例2.5使用PHP预定义常量代码如下。(源代码:chapter2test5.php)2预定义常量例2.5

    11、代码在IE浏览器中的显示结果如图所示。29相关知识项目实现内容导航PHP代码规范PHP常量PHP变量PHP运算符与表达式PHP程序流程控制PHP变量变量是指在程序运行过程中可以改变变量的值。PHP是一种“弱类型”语言,当你为变量赋值时,值的数据类型决定变量的数据类型。当给变量赋值不同类型的数据,也意味着变量的数据类型也发生改变。PHP允许不经定义直接使用一个变量。变量可以理解为内存单元的名称,给变量赋值意味着将数据存入内存。1变量的命名规则在PHP中,变量的命名规则如下。 变量名称的首字母必须是$符号(即美元符号)。 变量名称中可以包含下画线、字母和数字,但数字不能作为$符号之后的第一个字符。

    12、 变量名称区分大小写。所以$ab和$Ab是两个不同的变量。2变量的赋值和使用变量赋值有传值、传地址、改变变量名称3种形式,下面分别进行介绍。(1)传值赋值传值赋值是指直接将数据或变量的值复制放到变量内存中,举例如下。2变量的赋值和使用(2)传地址赋值传地址赋值也称引用赋值,是指将变量的地址传递给另一个变量,使两个变量具有相同的内存地址。因为两个变量的内存地址相同,所以这两个变量相当于同一个内存的不同名字。给一个变量赋值时,另一个变量的值也发生变化。在变量名称之前使用&符号,即可获得变量的地址代码如下。2变量的赋值和使用(3)改变变量名称PHP中有一种特殊用法可以改变变量的名称。在变量名称之前加

    13、一个“$”符号,即可将变量的值作为变量名称,代码如下。3变量数据类型(1)boolean(布尔型)boolean类型用于表示逻辑值,TRUE(不区分大小写)表示逻辑真,FALSE(不区分大小写)表示逻辑假。将boolean值用于算术运算或转换为数值时,TRUE转换为1,FALSE转换为0。将boolean值转换为字符串时,TRUE转换为字符串1,FALSE转换为空字符串。将其他类型数据转换为boolean值时,数值0、0.0、空白字符串、只包含数字0的字符串(0和0)、没有成员的数组、NULL等均转换为FLASE,其他值转换为TRUE。PHP尽管是“弱类型”语言,但仍定义了数据类型。PHP有8

    14、种数据类型:boolean(布尔型)、integer(整型)、float(浮点型)、string(字符串)、array(数组)、object(对象)、resource(资源)和NULL。3变量数据类型(2)integer(整型)integer用于存放整数。PHP中整数可以表示为常用的十进制,也可表示为八进制或十六进制。以数字0开始的整数为八进制,八进制中只允许使用字符07。以0 x开始的整数为十六进制,十六进制中可以使用的字符有09、大写字母AZ,小写字母az,如123、0123、0 x123都是合法的整数。float用于存放带小数点的数。PHP支持科学计数法表示小数,如1.23、1.2e3、

    15、5E6等都是合法的浮点数。(3)float(浮点型)提示:PHP中,浮点型数也称双精度数double或实数real。浮点数的精度取决于系统,PHP通常使用IEEE 754双精度格式存储浮点数。3变量数据类型(4)string(字符串)PHP中的字符串可以使用单引号、双引号和定界符3种方式表示。 单引号字符串用单引号括起来的字符串被原样输出。在单引号字符串中如果要输出单引号,可使用“”。该符号通常在双引号字符串中作为转义字符,PHP单引号字符串只支持转义单引号,其他转义符都被原样输出。如123、4.5、abc、mikes name等都是合法的单引号字符串。 双引号字符串双引号字符串中的变量被PH

    16、P解析为变量值,即字符串中的变量在输出时输出变量的值而不是变量名称。双引号字符串中可以使用各种转义符,如表2.2所示。3变量数据类型 双引号字符串表2.2PHP常用预定义常量代码举例如下。3变量数据类型 定界符字符串代码举例如下。“two,three),第三个元素的键名为6。比较特殊的情况是指定的键名比前面元素的键名小,则其后元素的默认键名为前面值最大的键名加1,例如,$a=array(7=one,3=two,three);,第三个元素的键名为8。3变量数据类型其中,$var为保存数组的变量,key1、key2、key3等为键,可以使用整数或字符串作为键。创建数组后,可使用print_r()函

    17、数输出数组,查看数组的键值,代码如下。3变量数据类型(6)object(对象)类型object变量用于保存类的实例(即对象),代码举例如下。(7)NULLNULL表示空值,即没有值。注意,NULL并不表示0、空格或空字符串。未赋值的变量为NULL。4数据类型转换数据类型转换是指将变量或值转换为另一种数据类型。PHP中数据类型转换可分为自动数据类型转换和强制类型转换。(1)自动数据类型转换PHP中变量的数据类型由存入变量的数据来决定,即在存入不同类型数据时,变量的数据类型就自动发生转换。或者在使用不同类型的数据进行运算时,所有数据自动转换为一种类型进行运算。4数据类型转换通常,只有布尔型、字符串

    18、型、整型和浮点型数据之间可以自动转换数据类型。下面对自动数据类型转换规则分别进行介绍。 添加文本布尔型值参与运算时,TRUE转换为1,FALSE转换为0。若是转换为字符串,则TRUE转换为1,FALSE转换为空字符串。NULL参与运算时,转换为数值0。整型值和浮点型值同时参与运算时,整型转换为浮点型。字符串和数值(整型值或浮点型值)运算时,字符串转换为数值。通常,字符串开头的数值部分被转换。若字符串开头不包含数值,则转换为0。例如,1234xyz转换为1234,12.34xyz转换为12.34,xyz转换为0。4数据类型转换(2)强制类型转换PHP支持3种方式转换数据类型,分别为使用类型名、使

    19、用类型取值函数和设置变量类型转换,下面分别对3种类型转换进行介绍。 使用类型名转换类型其基本格式为在变量或数据之前使用括号指定要转换的目标数据类型,如(int)2.345。PHP支持下列类型名数据转换。 (int)、(integer):转换为整型integer。 (bool)、(boolean):转换为布尔类型boolean。 (float)、(double)、(real):转换为浮点型float。 (string):转换为字符串string。 (array):转换为数组array。 (object):转换为对象object。 (unset):转换为NULL。4数据类型转换 使用类型取值函数类

    20、型取值函数可以将变量或数据转换为对应类型。下面分别对PHP类型取值函数进行介绍。intval():转换为整型,如intval($str)。floatval():转换为浮点型,如floatval($str)。strval() :转换为字符串型,如strval($x)。5变量处理函数除了前面介绍到的函数外,PHP还提供了其他函数用于处理变量,下面分别进行介绍。 is_array():检测变量是否是数组。 is_bool():检测变量是否是布尔型。 is_float()、is_double()、is_real():检测变量是否是浮点型。 is_int()、is_integer()、is_long()

    21、:检测变量是否是整数。 is_null():检测变量是否为 NULL。 is_numeric():检测变量是否为数字或数字字符串。 is_object():检测变量是否是一个对象。 is_string():检测变量是否是字符串。 print_r():输出变量信息。string、integer或float等简单类型输出变量值。 serialize():返回变量的序列化表示的字符串。 unserialize():从序列化字符串中反序列化,获得序列化之前的变量值(包括其数据类型)。 unset():从内存删除指定的变量。 var_dump():与print_r()类似,但包含了数据类型信息。5变量处

    22、理函数例2.6使用PHP变量,代码如下。(源代码:chapter2test6.php)5变量处理函数例2.6使用PHP变量,代码如下。(源代码:chapter2test6.php)例2.6代码在IE浏览器中的显示结果如图2.10所示。49相关知识项目实现内容导航PHP代码规范PHP常量PHP变量PHP运算符与表达式PHP程序流程控制PHP运算符与表达式运算符用于完成某种运算,包含运算符的式子称表达式。参与运算的数据称操作数。根据参与运算的操作数的个数,在运算过程中还将运算符分为算术运算符、位运算符、赋值运算符、比较运算符、逻辑运算符、错误控制运算符等,下面分别进行介绍。1算术运算符算术运算符用

    23、于执行算术运算。表2.3列出了PHP的算术运算符。除法运算通常获得浮点型运算结果。当两个整数相除,并且刚好被整除,则获得整型运算结果。而取模运算的操作数必须是整数,若操作数不是整数,则先去掉小数部分,将其转换为整数。余数符号与第一个操作数的符号相同。1算术运算符例2.7使用PHP加法运算,代码如下。(源代码:chapter2test7.php)1算术运算符例2.7代码在IE浏览器中的显示结果如图所示。2位运算符位运算符用于按二进制位执行运算。表2.4列出了PHP的位运算符。位运算向左移位时,最低位总是补0,最高位移出丢弃,即符号位不保留;向右移位时,最高位(符号位)保持移出之前的值,即不改变符

    24、号。如果两个操作数都是字符串,则按字符的ASCII码执行位运算。2位运算符例2.8使用PHP位运算,代码如下。(源代码:chapter2test8.php)2位运算符例2.8代码在IE浏览器中的显示结果如图所示。3赋值运算符最简单的赋值运算是使用“=”将一个表达式的值赋值给一个变量。例如:PHP还支持等号与运算符结合的组合赋值运算符,如表2.5所示。3赋值运算符点号(.)是字符串连接符号,将两个字符串连接在一起。赋值运算作为表达式使用时,表达式的值就是所赋的值。例如:4比较运算符比较运算符用于将两个操作数做比较,比较结果为布尔值。如果操作数为数值,则数值比较大小;如果操作数是字符串,则按对应字

    25、符的ASCII大小进行比较。表2.6列出了PHP的比较运算符。5逻辑运算符逻辑运算符用于两个布尔型操作数之间的运算,运算结果为布尔值。表2.7列出了PHP的逻辑运算符。6错误控制运算符PHP允许在表达式之前使用符号来屏蔽表达式中的错误。例如:表达式9/0表示除数为0时将显示出错。因为使用了符号,PHP忽略该表达式,不会输出任何信息。提示:若用set_error_handler()设定了自定义的错误处理函数,即使使用了符号,表达式出错时仍会调用自定义的错误处理函数进行处理。若php.ini中track_errors设置为on,表达式错误信息会存放在变量$php_errormsg中。提示:若“”符

    26、号屏蔽了会导致脚本终止的严重错误,则PHP脚本可能没有任何提示信息就消散。所以建议最好不要使用错误控制运算符。7执行运算符执行运算符是指PHP允许使用反引号()来执行操作命令,并返回命令执行结果。例如:该例在PHP代码中执行ping命令测试IP,在IE浏览器中的显示结果如图所示。8条件运算符条件运算符类似于if语句,其基本格式为若表达式1的值为TRUE,则返回表达式2的值,否则返回表达式3的值。例如:9运算符的优先级当表达式中包含多种运算时,将按运算符的优先顺序进行计算。表2.8按照优先级从高到低的顺序列出了PHP中的运算符。9运算符的优先级65相关知识项目实现内容导航PHP代码规范PHP常量

    27、PHP变量PHP运算符与表达式PHP程序流程控制PHP程序流程控制PHP程序流程控制包括if语句、switch语句、for语句、foreach语句、while语句、dowhile语句以及特殊流程控制语句等。1if语句if语句根据条件执行不同分支。if语句可分简单if语句、ifelse语句和ifelse if语句。(1)简单if语句简单if语句的基本格式如下:1if语句(1)简单if语句表达式的值为TRUE时,执行大括号中的语句组。如果只有一条语句,则可省略大括号。将两个变量中的数按大小排序,代码如下:1if语句(2)ifelse语句ifelse语句的基本格式如下:表达式的值为TRUE时,执行语

    28、句组1,否则执行语句组2。下面的代码用于判断变量$x中的数是否为闰年:1if语句(3)ifelse if语句ifelse if语句基本格式如下:1if语句(3)ifelse if语句执行时,按顺序计算各个表达式的值。若表达式的值为TRUE,则执行对应的语句组,执行完后,if语句结束。若所有表达式的值都为FALSE,则执行else部分的语句组n+1。下面的代码用于根据分数输出评语:1if语句例2.9产生3个100以内的随机正整数,按照从小到大的顺序输出,代码如下。(源代码: chapter2test9.php)1if语句例2.9产生3个100以内的随机正整数,按照从小到大的顺序输出,代码如下。(

    29、源代码: chapter2test9.php)1if语句例2.9产生3个100以内的随机正整数,按照从小到大的顺序输出,代码如下。(源代码: chapter2test9.php)例2.9代码在IE浏览器中的显示结果如图所示。1if语句例2.9产生3个100以内的随机正整数,按照从小到大的顺序输出,代码如下。(源代码: chapter2test9.php)例2.9代码在IE浏览器中的显示结果如图所示。2switch语句switch语句类似于ifelse if,用于实现多分支选择结构,其基本格式为 在执行switch语句时,首先计算表达式的值,然后按顺序测试表达式的值与case后执行的值是否匹配。

    30、如果匹配,则执行对应的语句组。语句组执行完后,遇到break则结束switch语句。如果没有break语句,则继续执行后继case块中的代码,直到遇到break或switch语句结束。如果没有值与表达式的值匹配,则执行default部分的语句组。default部分可以省略。2switch语句例2.10以下代码产生了一个1,7范围内的随机正整数,输出对应是星期几。(源代码: chapter2test10.php)2switch语句例2.10代码在IE浏览器中的显示结果如图2.15所示。3for循环for循环基本格式如下:语句组也称循环体。若只有一条语句,可省略大括号。表达式1中通常为循环控制变量

    31、赋初始值。for循环执行过程如下。 计算表达式1。 计算表达式2,,若结果为TRUE,则进行第步操作,否则循环结束。 执行语句组。 计算表达式4,转第步。3for循环例2.11代码在IE浏览器中的显示结果如图2.16所示。例2.11计算1+2+3+100,代码如下。(源代码:chapter2test11.php)4foreach循环变量$var依次取数组$a中的每一个值。例如:foreach循环用于数组或对象,遍历其成员。foreach循环基本格式为4foreach循环变量$key依次取数组$a中的每一个键名,变量$val则取键名对应的值。例如:foreach循环基本格式为5while循环或者

    32、:while循环的基本格式为6dowhile循环while循环执行时首先计算表达式的值,若结果为TURE,则执行语句组,否则循环结束。语句组执行完后,重新计算表达式的值,判断是否循环。下面的代码使用while循环计算1+2+3+100,例如:6dowhile循环dowhile循环基本格式如下:可以看出,dowhile循环与while循环的区别在于,dowhile循环首先执行一次循环体中的语句,然后计算表达式的值判断是否循环。例如:7特殊流程控制语句PHP提供了几个特殊语句用于控制程序流程,分别为continue、break、exit和die,下面分别进行介绍。(1)continue语句cont

    33、inue语句用于for、while、dowhile等循环中,其作用是结束本轮循环,开始下一次循环,continue之后的循环语句不再执行。下面的循环计算1,100范围内不能被3整除的数之和,代码如下:7特殊流程控制语句(1)continue语句该程序等价于:通过对比,显然第2种程序更容易理解,所以除非必要,尽量少用continue等特殊流程控制语句。在多重循环中,可以为continue指定一个参数来决定开始外面的第几重循环。7特殊流程控制语句(2)break语句break语句用在循环中可以跳出当前循环,例如:在多重循环中,同样可以为break指定一个参数来决定跳出几重循环。7特殊流程控制语句(3)exit语句exit语句用于输出一个消息并结束当前脚本,例如:die语句等同于exit语句,例如:(4)die语句89相关知识项目实现内容导航PHP代码规范PHP常量PHP变量PHP运算符与表达式PHP程序流程控制项目实现趣味数学问题页面中一共输出了9行数据。若用“$a”表示行数(初始值为1),$b表示上一行等号前面的算术表达式中的第1个操作数(初始值为0),则第$a行第1个数等于$b*10+$a。实例代码:91Thank you!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:PHP动态网站开发项目教程项目二课件.pptx
    链接地址:https://www.163wenku.com/p-2904274.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库