




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
研发部研发部资料PHP中级培训1.0版前言0.1 语言 .10.2 版本 .10.3 调试 .10.4 安全 .2第一章 PHP基础知识1.1 字符串 .41.2 数组 .51.3 日期 .61.4 正则式 .81.5文件读写 .91.6 函数 .101.7 类 .101.8 变量传递 .111.9 超全局变量 .11第二章 公司核心类库1.1数据库操作类 131.2文件操作类 131.3文件上传类 141.4图片操作类 141.5邮件操作类 151.6 ftp操作类 .161.7 xml文件操作 .171.8 session操作类 .191.9 function函数库 .191.10 smarty模板及其原理 .20.第三章 公司编程方案1.1 整体框架 .211.2 面向对象 .221.3 具体代码分析 .22王艳昭2005/2/14一、写在前面本部分主要概括的讲解php是什么,可以做什么用;以及调试时候需要注意的地方;还有就是一些安全注意事项。为什么把这部分放在第一位呢?因为这部分非常的重要,特别是在对php语言的理解和编写健壮性代码方面。、语言1、 PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 WEB 开发。2、 PHP 脚本主要用于以下三个领域。服务端脚本,这是 PHP 最传统,也是最主要的目标领域;命令行脚本;编写客户端的 GUI 应用程序。3、 2004年全球使用排名第四。(C 20.709%; Java 17.478%; C+ 11.927%; PHP 9.482%; (Visual) Basic 7.928%)、版本1、PHP 4.3.10我们现在最常用的php4版本,包括我们现在的开发环境以及我们公司现在提供的虚拟主机上安装的版本。注意:4.3x系列版本之间只有一些细小的差别,对于我们的普通开发来说可以忽略不计。2、PHP 5.0.3现在php官方最新发行的php5稳定版本,已经逐步取代了php4,并且一些虚拟主机提供商比如万网、通连无限,等已经开始使用这个版本,我们公司在这方面已经落后了。 注意:php5和php4的主要差别是内核中集成了sqlite数据库,取消了内核默认对mysql的支持;同时在类的支持方面更加强大,已经逐步向c+和java靠拢(比如新增加构函数,类成员的访问控制等,函数重载,抽象方法和抽象类,增加命名空间等)。 关于php5的详细和权威资料可以参考php的官方在线手册。、调试1、 超时设置: max_execution_time = 30 ; (php.ini)一个很大的程序正在运行时,该程序占用了很大的内存。一定时间后,php引擎将停止该程序运行并且返回错误信息。两种解决办法:一是让你的程序更小,缩短运行时间;二是修改php.ini中最大的程序时间,这个值默值为30s同时也可以用void set_time_limit ( int seconds)在脚本运行时进行具体的设置,但是如果开启了安全模式,那么不起作用。2、 错误显示和屏蔽error_reporting = E_ALL(php.ini) 一个程序在运行的时候所有的错误,警告提示受到php.ini中出错级别显示的控制,当你把级别设置的不正确时候,将显示不出你的错误结果。这时候最长见的就是白板页面。 同时也可以用int error_reporting ( int level)函数进行设置。设置error_reporting为E_ALL可以报告所有的错误、警告和一些细节方面的东西。3、 常见错误说明A、 通过在函数前面增加一个符号,我们可以抑制php对于该函数调用的错误提示。这个很有用,特别是在我们封装类的时候。但此功能不要滥用,因为可能有些需要的错误提示也被屏蔽。B、忘记变量前面的$,无论是写c+的老程序员,还是写php的新手,都很容易犯这个错误。C、变量只可以用英文格式的双引号和单引号括起来,如果用了中文的引号将引起程序致命的错误。关于这2种引号的区别请参阅下面的字符串讲解部分。D、if($abc=5) 在我们进行恒等判定的时候比较容易犯的一个错误,虽然不会显示错误提示,但是结果将不是我们预期的。E、调试方法,最常用的是分段,所谓分段就是用exit进行跳出。从而实现一段一段的具体代码测试。在exit前可以进行echo输出你的代码中需要了解的变量 。F、在session开始前,如果包含另一个文件,当文件结尾?后有空格或空行,程序会出错。(包括本php文件开头部分?前有空格)、安全 1、最重要的一点,我们要对所有用户输入的数据以及url连接的数据进行合法性验证,包括post和get传输的。 后果: A、毁坏html页面,涉及到即时显示的“”、“n”等; B、破坏数据库,执行了非法SQL语句; C、造成数组越界,包括分页显示的页码越界等问题; D、不是我们想要的数据,也就是垃圾数据,包括电话号码、身份证等。 2、操作权限验证,这个是最常犯的错误,也是程序最易受攻击的一个地方。主要包括session验证和post或get来的数据权限检查。 后果: A、没有权限的人员可以行使权限; B、甲可以行使乙的权限,从而造成管理混乱;注释:讲解一下解决方案。可以先进行权限判定,只有权限合法才可以执行操作;或者在执行操作的时候加上限定条件,也就是进行记录的归属判定。 3、上传文件的类型限制,如果是可以执行的目录,要绝对禁止php类型文件的上传。 后果: A、用户上传的文件类型不是我们想要得到的类型; C、如果上传了php文件并且有执行权限,将会对我们的系统进行毁灭性破坏。二、基础知识本部分主要是对php编程中比较重要的、以及常用的东西进行概括的说明,具体用法以及存在的疑问可以参考php手册中的相关部分,里面有详细介绍。手册下载地址 ,现在的下载手册为php4版本,线上手册估计为php5版本(里面有很多增加函数和特性说明)。PHP 在变量定义中不需要(或不支持)明示的类型定义;变量类型是根据使用该变量的上下文所决定的。也就是说,如果你把一个字符串值赋给变量 var,var 就成了一个字符串。如果你又把一个整型值赋给 var,那它就成了一个整数。 PHP中的字符串和整数在编程中可以认为是无区别的,我说的是用法上。只是我们习惯把所有的字符串用引号括起来,而整数是不括的。如果你把整数括起来,也是可行的,因为当你在对整数进行相应的计算的时候,php自动将这个变量转换成了整型。、字符串1、 主要特点A、单引号:指定一个简单字符串的最简单的方法是用单引号(字符 )括起来。和其他两种语法不同,单引号字符串中出现的变量和转义序列不会被变量的值替代。举例:$strTest = this is a simple string;B、双引号:如果用双引号()括起字符串,PHP 懂得更多特殊字符的转义序列:n r等 .双引号字符串最重要的一点是其中的变量名会被变量值替代。举例:$strTest = this is a simple string;C、定界符:另一种给字符串定界的方法使用定界符语法(“”)。应该在 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。定界符文本表现的就和双引号字符串一样,只是没有双引号。举例:$strTest = EODExample of stringspanning multiple linesusing heredoc syntax.EOD;D、操作符:字符串可以用“.”(点)运算符连接。注意这里不能用java中的“+”(加)和c+中的”运算符。举例:$strA = abc;$strB = efg; $strC = $strA.$strB.d;$strD .= hij; E、字符串转换为数值当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。 如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。 该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。举例:$foo = 1 + 10.5;/ $foo is float (11.5)$foo = 1 + -1.3e3; / $foo is float (-1299)$foo = 1 + bob-1.3e3;/ $foo is integer (1)$foo = 1 + bob3;/ $foo is integer (1)$foo = 1 + 10 Small Pigs;/ $foo is integer (11)$foo = 4 + 10.2 Little Piggies; / $foo is float (14.2)$foo = 10.0 pigs + 1; / $foo is float (11)$foo = 10.0 pigs + 1.0;/ $foo is float (11) F、访问字符串中的字符字符串中的字符可以通过在字符串之后用花括号指定所要字符从零开始的偏移量来访问。 举例: / Get the first character of a string$str = This is a test.;$first = $str0;/ Get the third character of a string$third = $str2;/ Get the last character of a string.$str = This is still a test.;$last = $strstrlen($str)-1; 2、字符串处理函数库常用部分:echo,md5,explode,implode(join),str_replace,trim,strlen、数组PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此你可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个 PHP 数组作为值,也可以很容易地模拟树。 1、主要特点 A、设定一个数组(php的数组可以不用初始化,就象使用字符串一样简单。但是官方推荐用$arrA=array();初始化一下,以表示变量不是字符串。只是从编程的美观和可读性上考虑,不影响实际运行效果。)举例:$arrA = array(foo = bar, 12 = true);$arrB = 56; $arrBx = 42;$arrC = array(1, 2, 3, 4, 5, 汉字);B、为什么$foobar错了?这样是错的,但可以正常运行。那么为什么错了呢?原因是此代码中有一个未定义的常量(bar)而不是字符串(bar注意引号),而 PHP 可能会在以后定义此常量,不幸的是你的代码中有同样的名字。它能运行,是因为 PHP 自动将裸字符串(没有引号的字符串且不对应于任何已知符号)转换成一个其值为该裸字符串的正常字符串。例如,如果没有常量定义为 bar,PHP 将把它替代为 bar 并使用之。 C、掌握foreach控制数据举例:$colors = array(red, blue, green, yellow);foreach ($colors as $color) echo Do you like $color?n; /* output: Do you like red? Do you like blue? Do you like green? Do you like yellow? */ D、PHP的数组主要分为两种,一种是数字做索引的普通数组,类似c+中的数组,如$a0,一种是字符串做索引的数组,称为关联数组,如$a“b”。 关联数组中的字符串可以用单引号和双引号,不过这里推荐大家用单引号,因为这样比较清晰明了。4、数组处理常用函数:sort,count(),key,list ,each,in_array。PHP的数组函数库基本包含了数组操作的所有可能性。C+中很多需要我们自己编写的东西,在这里都是封装好的。所以在你编写任意一个自定义数组操作函数前,一定要仔细看看手册中是否有现成的函数。、日期1、主要特点 A、time 返回当前的 UNIX 时间戳: 举例:$strTime = time(); /变量strTime的值为一个unix格式的时间串1423867483B、date-格式化一个本地时间日期 举例: $ strTime = date(H:i:s);/变量strTime的值为17:16:17 常用格式:只列出了我们常用的,具体更多信息请参考php手册中相关部分。字符说明返回值例子a小写的上午和下午值am 或 pmA大写的上午和下午值AM 或 PMd月份中的第几天,有前导零的 2 位数字01 到 31D星期中的第几天,文本表示,3 个字母Mon 到 Sung小时,12 小时格式,没有前导零1 到 12G小时,24 小时格式,没有前导零0 到 23h小时,12 小时格式,有前导零01 到 12H小时,24 小时格式,有前导零00 到 23i有前导零的分钟数00 到 59j月份中的第几天,没有前导零1 到 31m数字表示的月份,有前导零01 到 12n数字表示的月份,没有前导零1 到 12s秒数,有前导零00 到 59t给定月份所应有的天数28 到 31w星期中的第几天,数字表示0(表示星期天)到 6(表示星期六)WISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)例如:42(当年的第 42 周)Y4 位数字完整表示的年份例如:1999 或 2003y2 位数字表示的年份例如:99 或 03z年份中的第几天0 到 366C、mktime-取得一个日期的 UNIX 时间戳 举例: $strTime = mktime (0,0,0,12,32,1997); /变量strTime的值为一个unix格式的时间串1423867483D、getdate-取得日期时间信息举例:$today = getdate();Array( seconds = 40 minutes = 58 hours = 21 mday = 17 wday = 2 mon = 6 year = 2003 yday = 167 weekday = Tuesday month = June 0 = 1055901520)2、以上是php中主要要用到的4个时间操作函数,具体用法大家可以参考php手册中的相关介绍。、正则式PHP提供了一种高级的,并且相对比较直观的匹配和处理字符串的方法。在web相关的程序开发中,很多场合需要处理大量的用户数据,例如:电话、电子邮件、日期等。利用正则式是实现这些功能的最佳办法;而不需要我们象c+那样一个字符一个字符的进行判断匹配。1、常用匹配A、匹配字符串举例:ereg (abc, $string); /匹配abc ereg (abc, $string); /匹配abc开头的ereg (abc$, $string); /匹配abc结尾的B、字符集合a-z 匹配所有的小写字母a-z 匹配除小写a外的任意字符集合a-zA-Z 匹配所有的大写和小写字母a-zA-Z0-9 匹配所有的大小写和数字0-9.- 匹配正负或小数C、匹配一个字符多次出现a-z3 匹配包含3个小写字母的字符串a-z1,8 匹配包含1个或8个小写字母的字符串* 匹配0个或多个字符出现+ 匹配1个或多个字符出现? 匹配一个字符出现一次或不出现 举例: ereg (0-95,10$,$userQQ);/匹配用户的QQ2、常用正则表达式函数:ereg_replace ereg 如果想使用更强大的正则表达式,请参考perl兼容正则表达式函数库。因为perl的正则表达式过于强大,不是这里可以讨论的。有兴趣的可以参考perl相关书籍。、文件读写Php中的文件操作是很容易的,同时也是很重要的。就象我们操作数据库一样需要比较熟练的掌握。以下列出文件的打开模式:r只读方式打开,将文件指针指向文件头。 r+读写方式打开,将文件指针指向文件头。 w写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 w+读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 a写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 a+读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。1、 简单的文件读写操作 A、读文件$handle = fopen (file.txt, r);while (!feof ($handle) $buffer = fgets($fd, 4096);echo $buffer;fclose ($handle); B、写文件$handle = fopen($filename, a);fwrite($handle, 添加这些文字到文件n);fclose($handle);2、 将一个文件读入一个数组,每一行为数组的一个元素$lines = file (file.txt);3、 建立、删除目录mkdir (dir, 0700);rmdir(dir);4、 具体的文件读写操作请参考php手册中的:文件系统函数库。这个函数库的函数都是比较重要的,特别是你编写不使用数据库管理系统的程序,比如文本存储数据的小型程序如留言本,日志记录等。虽然php5中已经内嵌了sqlite文本型小型数据库。但是纯文本操作在很多地方还是很重要的,比如config文件的修改等。、函数 Php中的内部函数是非常丰富的,基本函盖了我们编写web程序的方方面面。Php语言很容易学会,但是只有对这些函数、程序的整体结构都有了一个总体的把握,才能真正编写出高水平的代码。所谓的掌握并不需要把每个函数都记忆下来,3000多个函数,我们只需要记忆一些常用的即可。但要记住php都包含哪些函数库,因为只有这样我们才可以在需要的时候知道去哪里查阅相应的函数。1、 默认参数,可以用这种方法实现类似c+中的函数重载举例:function makeyogurt ($flavour, $type = acidophilus)return Making a bowl of $type $flavour.n;echo makeyogurt (raspberry);/ works as expected2、 返回值:可以是字符串,整型,数组,对象等,基本可以返回php所有的变量类型。但也和c+中一样,只能有一个return语句起作用。举例:function square ($num)return $num * $num;echo square (4);/ outputs 16.3、函数基本和c+中的函数部分是一样的,以上两点可以说是比较重要的和常用的和c+中的不同点。、类1、 php4中只有构造函数,没有析构函数。(php5中加入了析构函数)2、 php4中的类属性和方法是没有访问权限控制的,也就是说所有的都是pulic。(php5中引进了完整的访问权限控制)。3、 一个类的简单例子: class Avar $one = 1;function show_one()echo $this-one;4、 关于类的详细使用说明请参考php手册中的相关部分。其实可以简单的这样说php4中的类只是一个函数的封装包而已。并没有类似c+和java中类的高级功能。但这种情况已经在php5中有所改进。有兴趣的话可以参考php5的相关文档。因为我们的开发环境为php4,所以这里先以php4为主。、变量传递 强烈建议大家在获取变量的时候用$_GET、 $_POST、 $_COOKIE、 $_SESSION ;因为php4.06开始已经淘汰$HTTP_SESSION_VARS这样的长格式。1、 直接传递隐藏表单或非隐藏表单进行数据的传递,主要通过post方法获取。通过url进行变量的直接传递,主要通过get方法获取。2、 Cookie传递举例:$value = something from somewhere;setcookie(TestCookie, $value, time()+3600);/ expire in 1 hour3、 Session传递举例:关于session的一点说明:强烈建议大家注册一个session变量的时候用$_SESSIONcount = “test”;的格式,而不是使用session_register(),因为后者需要register_globals=on 的支持,而从php4.2开始,php中的选项 register_globals 的默认值被设为 off。、PHP 超全局变量:以下几个全局变量在编写php程序中非常重要$GLOBALS包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的名称。从 PHP 3 开始存在 $GLOBALS 数组。 $_SERVER变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。 $_GET经由 HTTP GET 方法提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。 $_POST经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。 $_COOKIE经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。 $_FILES经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。 $_ENV执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。 三、核心类库 本套类库为2004年底总结,基本函盖了php开发中要用到所有功能,目前版本为1.5。主要特色是统一的编码风格,统一的出错处理,并且进行了完整的测试。如果是与远程主机进行交互操作,还有debug跟踪(ftp,smtp,imap)。总之一个目的,方便易用强大。当然现在还有很多不足,希望我们在今后的工作中能够贡献每个人的力量,使之真正的强大起来,成为公司的php的一个标准。、数据库操作类1、 概括:本套类库封装了常用数据库:MySQL Oracle Postgres SQLite SQLServer等,并且统一了所有接口,也就是无论操作何种数据库,对于程序开发来说都是一样的。还可以按照需求扩充支持的数据库种类,不过目前咱们开发用到的只有MySQL和SQLite。2、 主要属性及方法方法 var $num_rows; /select返回的记录条数 var $rows_affected; /update影响的记录数 var $insert_id; /最后插入的记录id query($query) /执行sql语句 get_var($query=null,$x=0,$y=0) /获取一个字段 get_row($query=null,$output=OBJECT,$y=0) /获取一行记录 get_col($query=null,$x=0) /获取一列 get_results($query=null, $output = OBJECT) /获取多行记录 get_col_info($info_type=name,$col_offset=-1) /获取字段信息 vardump($mixed=) /调试-输出变量信息、文件操作类1、 概括:本套类库主要包括文件读写,目录管理,文件压缩。基本函盖了文件操作的大部分功能。2、 主要属性及方法A、文件读写 read_csv() /从csv文件中以2维数组格式读出数据 append_csv() /将新数据追加到csv文件 delete($rownumber, $n = 1) /从csv文件中删除数据 update($rownumber, $aValues) /从csv文件中更新数据 append() /返回将要填加的数据数组行数 find($aValues) /从csv文件中查找数据 write_csv() /将数组写入csv文件,可以从新创建或添加。 writeable() /判断csv文件是否可写入 row_count() /获取csv文件行数 rows_to_write() /获取要写入csv文件新行数B、目录管理 set_current_dir($dir) /设置当前工作目录create_dir($dirname,$where=) /建立一个目录rename_dir($dirname,$where=) /重命名目录名delete_dir($dirname) /删除一个文件delete_file($filename) /删除一个文件empty_dir($Dir) /清空一个目录,但保留目录get_dir_info() /获取一个目录下的文件和文件夹数组get_dir_all() /获取一个目录文件大小,递归n级操作copy_file($filename,$to=,$as=) /将一个文件copy到另一个文件夹下copy_dir($Dir,$NewDirName,$delDir) /转移一个目录get_file_size($file, $round = false) /获取一个文件大小,如果传递文件,获取大小。如果传递数字返回格式化后数据three_dir() /将一个目录从一级目录转变成三级目录C、文件压缩(tar、gzip、bzip、zip)set_options($options) /设置压缩参数create_archive() /执行压缩操作add_data($data) /向压缩包中写数据make_list() /获取所有将要压缩的文件add_files($list) /添加文件名称exclude_files($list) /设置压缩时过滤的文件类型store_files($list) /设置哪些文件不压缩,只是打包存储download_file() /下载压缩包、文件上传类 1、概括本类主要对文件上传进行了封装,并且对上传行为的各个方面进行控制。 2、主要属性及方法方法 set_max_width($width) /设置图片最大宽度 set_max_size($size) /设置文件最大值 set_valid_types($type) /设置文件允许类型 check_dir($dir) /检查目录,如果没有自动建立,并返回建立的目录名 check_gd() /检查GD版本 delete_file($source_dir, $filename) /删除文件 file_rename($source_dir, $filename, $newname) /文件从新命名 lantin_encode($str) /将中文名转换成拼音 upload_file($target_dir = , $encode = md5, $name_length = 10) /将文件上传到服务器 display_files($source_dir) /显示一个目录下的文件列表、图片操作类 1、概括:本套类对图片的基本操作方法进行了封装,主要涉及到:图片控制,统计图图片、图片验证码、图片水印(字、图) 2、主要属性及方法方法 A、图片控制 set_back($bg_red=0,$bg_green=0,$bg_blue=0) /设置背景 set_frame($fr_red=0,$fr_green=0,$fr_blue=0) /设置边框 get_image_name () /获取图片名字 get_image_height () /获取图片高度 get_image_path () /获取图片路径 get_image_width () /获取图片宽度 get_image_size () /获取图片大小 get_thumb_name () /获取所略图名 get_image_type () /获取文件类型 exist_thumb ($prefix = thb_) /判断是否存在缩略图 exist_image () /判断文件是否存在 make_thumb ($dimension = 100, $quality = 70, $prefix = thb_) /生成缩略图 html_thumb_image () /在ie中显示缩略图 read_image_from_file($filename, $type) /从文件中读出图片 write_image_to_file($im, $filename, $type, $quality) /将图片写入到文件 B、统计图 set_data($data) /将统计数据附给类属性$this-statistic以备使用 set_size($width,$height) /设置图象宽高,也就是统计图表的强制长宽 set_border($left,$right,$top,$down) /设置统计图和图象边框的距离 set_items($items) /将统计条目写入数组以备使用 set_color($color) /设置前景颜色 set_bkcolor($color) /设置背景颜色 stat_pie() /饼型图 stat_line() /折线图 stat_bar() /拄状图 C、图片验证码 create_image() /生成密码验证图片 transfer_code() /设置session show() /显示验证码图片 D、图片水印 create($filename=) /生成水印图片 create_image($type,$img_name) /根据文件名和类型创建图片,包括gif,jpg,png,例如 ./mouse.jpg get_pos($sourcefile_width,$sourcefile_height,$pos,$wm_image=)/根据源图像的长、宽,位置代码,水印图片id来生成把水印放置到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 象棋胜负判断课件
- 诺病毒知识培训课件
- 2025年分布式光伏发电项目电力建筑工程安装劳务分包合同
- 2025年度教育机构场地租赁与课程合作合同
- 2025年新能源项目法律咨询与服务合同范本
- 2025版大型商业综合体水电安全运行管理合同
- 2025版建筑塔吊安装施工安全监督合同
- 2025年厨房空间利用优化与装修改造合同范本
- 2025年度商业地产项目投资风险评估与预警服务合同
- 2025年度房产租赁保证金退还合同书
- 路灯灯杆项目投资计划书
- 环保项目配电室电气安装方案
- 新概念第二册单词表(完整版)
- 初三考试化学试卷(含答案)
- 2024-2025学年小学信息技术(信息科技)五年级全一册义务教育版(2024)教学设计合集
- 【新课标】人音版五年级上册第一单元 朝夕 大单元整体教学设计
- 自然保护区管理中的生态系统恢复策略
- 试车跑道专项方案
- 2024年交管12123学法减分试题题库附答案
- 2024年湖南省长沙住房公积金管理中心招聘历年高频难、易点(公共基础测验共200题含答案解析)模拟试卷
- KA-T 20.1-2024 非煤矿山建设项目安全设施设计编写提纲 第1部分:金属非金属地下矿山建设项目安全设施设计编写提纲
评论
0/150
提交评论